如何通过jquery单独管理许多setInterval函数

How to manage many setInterval function by jquery each individually

本文关键字:许多 setInterval 函数 管理 单独 何通过 jquery      更新时间:2023-09-26

嘿,我有一个 setInterval 函数 [见下文] 对于所有带有类的div 的每个函数,我的问题是以不同的方式管理每个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);
})

此清除所有设置间隔调用 [影响所有div 操作]

我的问题是如何以不同的方式管理每个类设置间隔

提前致谢

使用 .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'));
    });
})

你可以像这样实现它:

$.each($(".products_each"), function (index, value) {
    var vari = setInterval(function() {
          // do what ever you want with value
          // it is your div : $(value).hide();
    }, 1000/60);
});