1

これが私の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配列に追加され、再度クリックされた場合は配列から削除されます。

4

1 に答える 1

2

id複数の HTML 要素に同じものを使用するのは正しくありません。これが問題の原因である可能性が非常に高いです。

また、@roXon からのコメントを確認 していただきありがとうございます。

于 2013-03-18T03:19:00.933 に答える