0

クラスを持つすべてのdivの各関数内にsetInterval関数[以下を参照]があります。私の問題は、各divを別々に管理することです

助けてください

var div_holder = $('div.products_each');
     div_holder.each(function(i){
var vari= setInterval(function() {
                  //do something here
          },1000/60)
});

そして、私はこれを閉じることができました

$(document).on("mouseenter", ".products_each_all",function(){
     $(this).children('div._title').css('margin-left',"0px");
        clearInterval(vari);
})

this すべての setInterval 呼び出しをクリア [すべての div アクションに影響]

私の質問は、各クラス setinterval を異なる方法で管理する方法です

前もって感謝します

4

2 に答える 2

4

.data()を使用して、各要素の間隔参照を個別に保存します。

var div_holder = $('div.products_each');
div_holder.each(function (i) {
    var vari = setInterval(function () {
        //do something here
    }, 1000 / 60)
    $(this).data('vari', vari)
});

$(document).on("mouseenter", ".products_each_all", function () {
    $(this).children('div._title').css('margin-left', "0px");

    //each products_each element will have a data item called vari which holds the interval reference, you can use it to clear it later
    var div_holder = $('div.products_each');
    div_holder.each(function (i) {
        clearInterval($(this).data('vari'));
    });
})
于 2013-09-26T05:57:02.880 に答える