0

常に(多くのdivから)選択したdivにインクリメントされる値(data- *または配列など)を割り当てることができるシステムが必要です。1つを削除すると、他のすべての値を「上にスライド」する必要があります。

1.2.3.4.5 //remove 3
1.2.  3.4 //dot represents a new index.

次に、ランダムなdivから(新しい)値を取得できるようにする必要があります。data- *属性について考えていたので、divにバインドされていますが、値を追加および削除するときに配列を再計算(「スライドアップ」)する方が簡単です。

このための最良の方法は何でしょうか(最小のコードと最高のパフォーマンス?)

提案や質問を受け付けます(理解できない場合は質問してください)。

4

1 に答える 1

0

@Fabricioに感謝します。私の質問に答えなかったとしても、それを解決するのに役立つ素晴らしいヒントをくれました。

function removeA(arr){
    var what, a= arguments, L= a.length, ax;
    while(L> 1 && arr.length){
        what= a[--L];
        while((ax= arr.indexOf(what))!= -1){
            alert('id:'+ax);
            arr.splice(ax, 1);
        }
    }
    return arr;
}
var products = [];
$('div').click(function(){
    var item=$(this);
    var thisIndex = item.siblings().andSelf().index(item);
    if (item.hasClass('added')) {
    removeA(products, thisIndex);
    item.removeClass("added");
    return false;
}
    item.addClass("added");
    products.push(thisIndex);
    alert(products);
});
​

http://jsfiddle.net/JPCnm/2/

追加したアイテムを削除するときに受け取るIDは、必要な番号です。

于 2012-06-15T08:04:30.620 に答える