これが私のJQueryです:
var skinCare=[];
$('.skinCare').click(function(){
if($.inArray(event.target.id, skinCare) == -1){
var value = event.target.id;
skinCare.push(value);
}
var index = skinCare.indexOf(value);
if($(this).css('background-color') == 'rgb(255, 255, 255)'){
skinCare.splice(skinCare.indexOf(index), 1);
}
});
$('html').click(function(){
alert(skinCare);
});
これは、ユーザーがクリックできるように表示している HTML です。
<a href="#item4" class="panel"><div class="nextButton"></div></a>
<a href="#item3" class="panel multi"><div class="circle skinCare multi" id="acne" style="top:10px;left:265px"><div class="inner_circle" id="acne">ACNE/</br>BLEMISHES</div></div></a>
<a href="#item3" class="panel multi"><div class="circle skinCare multi" id="dry_skin" style="top:255px;left:10px"><div class="inner_circle" id="dry_skin">DRY SKIN</div></div></a>
<a href="#item3" class="panel multi"><div class="circle skinCare multi" id="oily_skin" style="top:90px;left:100px"><div class="inner_circle" id="oily_skin">OILY SKIN/LARGE PORES</div></div></a>
<a href="#item3" class="panel multi"><div class="circle skinCare multi" id="aging" style="top:90px;left:430px"><div class="inner_circle" id="aging">WRINKLES/</br>AGING</div></div></a>
<a href="#item3" class="panel multi"><div class="circle skinCare multi" id="irritation" style="top:255px;left:510px"><div class="inner_circle" id="irritation">SENSATIVE SKIN/IRRITATION</div></div></a>
<a href="#item3" class="panel multi"><div class="circle skinCare multi" id="dark_spots" style="top:430px;left:100px"><div class="inner_circle" id="dark_spots">DARK SPOTS</div></div></a>
現在、クリックされている div の背景色が特定の色 (クリック時に css クラスによって設定される) の場合、配列 skinCare に値を追加または削除するように JQuery を設定しています。ただし、機能するオプションについては完全にオープンであり、色で行う必要はありません。divがクリックされた場合は値がJQuery配列に追加され、再度クリックされた場合は配列から削除されます。