使用setInterval jquery each()

art*_*rks 4 javascript jquery

我有一个填充了各种元素的对象,我希望通过使用它来迭代each(),然后对轮到它的元素执行操作.所以:

var arts = $("#press-sqs > article");
shuffle(arts);

$(arts).each(function(){
    setInterval(function() {
    // in here perform an action on the current element in 'arts'
    }, 2000);   
}); 
Run Code Online (Sandbox Code Playgroud)

(shuffle()是一个基本的随机播放功能)

我无法弄清楚的是如何将当前元素作为选择器访问并对其执行操作.$(this)$(window).

最后,我需要该函数在它到达结束时再次启动迭代art并继续无限循环.

Eri*_*ric 10

如果您正在使用setInterval,您将获得相同的结果交换订单:

setInterval(function() {
    $(arts).each(function(){
         doSomethingWith(this);
    });   
}, 2000);
Run Code Online (Sandbox Code Playgroud)

我不认为你想要你在这里做什么.我想你想要:

var i = 0;
setInterval(function() {
    var art = arts[i++];
    doSomethingWith(art)
    if(i >= arts.length) i = 0;
}, 2000); 
Run Code Online (Sandbox Code Playgroud)