简单的javascript循环不能按预期工作

时间:2014-06-03 13:07:15

标签: javascript loops

我希望我的触发器每2秒激活一次,但每次都是我的i值。 像前3秒触发.slide1,再过3秒.slide2等...

这是我的代码:

    setInterval(function () {
     for ( var i = 0; i < 5; i++ ) {
        $('.slide'+ i).trigger('click');
    }   
}, 3000)

3秒后它会立即触发我的.slide4,我想知道为什么?

1 个答案:

答案 0 :(得分:2)

尝试

var slide = 0;
setInterval(function () {
        $('.slide'+ (slide++ % 5)).trigger('click');
}, 3000);

代码的问题在于每次调用interval函数时,都会执行循环并触发所有幻灯片的click事件。