我有一个对象,里面充满了各种元素,希望通过使用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);
});

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

我不知道是如何作为选择器访问当前元素并对其执行操作。 $(this)$(window)

最后,我将需要该函数在到达art末尾时再次开始迭代,并继续无限循环。

最佳答案

如果您使用setInterval,则交换顺序将得到相同的结果:

setInterval(function() {
    $(arts).each(function(){
         doSomethingWith(this);
    });
}, 2000);

我不认为您想要在这里做什么。我认为您想要:
var i = 0;
setInterval(function() {
    var art = arts[i++];
    doSomethingWith(art)
    if(i >= arts.length) i = 0;
}, 2000);

09-25 15:12