jQuery - 为什么回调函数有延迟?

时间:2011-10-19 04:29:27

标签: jquery

我希望循环播放显示3张图片

当显示最后一个图像时,需要多次再次回调runIt()函数。

我可以将它设置为无延迟然后再次回调函数??

function runIt() {      
    $("#image1,#image2,#image3").hide();
        $("#image1").show(0);
        $("#image2").delay(1000).show(0);
        $("#image3").delay(2000).show(0,0,runIt);
        }
runIt();

2 个答案:

答案 0 :(得分:1)

你的标题和问题似乎与我有冲突,无论如何你可以使用setTimeout

function runIt() {      
    $("#image1,#image2,#image3").hide();
        $("#image1").show(0);
        $("#image2").delay(1000).show(0);
        $("#image3").delay(2000).show(0,0,function(){
                        setTimeout(function(){   
                          runIt();                     
                      }, 2000 );

               });
        }
runIt();

DMEO

答案 1 :(得分:0)

你想每 x 秒运行一次这个功能吗?然后使用setInterval()

setInterval(runIt, 1000); // 1000 = 1 second

所以你的代码看起来像这样:

function runIt() {      
    $("#image1,#image2,#image3").hide();
    $("#image1").show(0);
    $("#image2").delay(1000).show(0);
    $("#image3").delay(2000).show(0);
}
setInterval(runIt, 3000);