我在Jquery中有一个动画,我想每隔5秒用一个setInterval重复一次,问题是我还希望它在开始前等待5秒。我没有找到解决方案,我想到了类似的东西,但它不起作用,它立即执行:
setTimeout(function(){
bannerInterval = setInterval(function(){
bannerRotate();
},5000);
},5000);
bannerRotate();
由于
答案 0 :(得分:0)
通过使用一些变量来跳过第一次使用:
var firstRun = true;
setTimeout(function(){
bannerInterval = setInterval(function(){
if (firstRun)
{
firstRun = false;
}else
{
bannerRotate();
}
},5000);
},5000);
答案 1 :(得分:0)
我同意 vadim ,你的setInterval代码将在setTimeout结束后立即运行。 setInterval的5000不会延迟第一次运行代码段,而是告诉代码重复它的频率。只需将setTimeout计时器设置为5000到10000。
答案 2 :(得分:0)
我正在执行我试图在我的代码中的其他地方的setTimeout()函数之外延迟的函数。 代码就是这样:
setTimeout(function(){
bannerInterval = setInterval(function(){
bannerRotate();
},5000);
},5000);
/* bannerRotate(); WITHOUT THIS PART!!!! */
答案 3 :(得分:-1)
在您的代码使用空for循环或任何循环语句延迟启动之前
for (var i = 0; i < 5; i++) {}
答案 4 :(得分:-2)
使用delay()函数,尝试下面给出的代码,希望这可以帮到你
setTimeout(function(){
bannerInterval = setInterval(function(){
bannerRotate();
},5000);
},5000).delay(5000);