Javascript 如何延迟setInterval-Java脚本

Javascript 如何延迟setInterval-Java脚本,javascript,settimeout,setinterval,Javascript,Settimeout,Setinterval,我在Jquery中有一个动画,我想每隔5秒重复一次setInterval,问题是我还想让它在开始之前等待5秒。我没有找到解决方案,我考虑过类似的事情,但它不起作用,它会立即执行: setTimeout(function(){ bannerInterval = setInterval(function(){ bannerRotate(); },5000); },5000); bannerRotate(); 感谢使用delay()函数,请尝试下面给出的代码,希望对您有所帮助 s

我在Jquery中有一个动画,我想每隔5秒重复一次setInterval,问题是我还想让它在开始之前等待5秒。我没有找到解决方案,我考虑过类似的事情,但它不起作用,它会立即执行:

setTimeout(function(){
   bannerInterval = setInterval(function(){
    bannerRotate();
   },5000);
},5000);
bannerRotate();
感谢使用delay()函数,请尝试下面给出的代码,希望对您有所帮助

setTimeout(function(){
       bannerInterval = setInterval(function(){
        bannerRotate();
       },5000);
    },5000).delay(5000);

使用以下变量跳过首次使用:

var firstRun = true;
setTimeout(function(){
   bannerInterval = setInterval(function(){
    if (firstRun)
    {
        firstRun = false;
    }else
    {
        bannerRotate();
    }
   },5000);
},5000);

在您的代码之前,请使用empty for循环或任何循环语句延迟启动

for (var i = 0; i < 5; i++) {}
for(var i=0;i<5;i++){

我同意vadim,您的设置间隔代码将在设置超时结束后立即运行。setInterval的5000不会延迟代码段的第一次运行,而是告诉代码重复它的频率。只需将setTimeout计时器从5000设置为10000。

我正在执行我试图在代码中其他地方的setTimeout()函数之外延迟的函数。 代码的工作原理如下:

setTimeout(function(){
   bannerInterval = setInterval(function(){
    bannerRotate();
   },5000);
},5000);

/* bannerRotate(); WITHOUT THIS PART!!!! */ 

什么不起作用?它执行immediately@EddyXP-我看不出有什么问题?如果有的话,代码应该在第一次执行前等待10秒,然后每隔5秒执行一次。代码中一定有其他内容,否则我误解了问题-仅这段代码不会导致任何问题。未捕获的TypeError:Object 3没有方法'delay'@Atber-没有delay方法,代码与问题中的代码相同。如果有效(即有效),则问题是无法回答的,应该关闭该问题。delay是一种jquery方法,您需要将整个代码包装在jquery中,如下所示:$(…).delay(5000);。delay()是用于Jquery对象的Jquery方法,它将返回一个错误,正如@Quentin所说,他也是正确的,我的代码没有错误。我改变了问题以显示错误。代码不会延迟任何东西,像这样的循环执行速度和没有循环一样快,再加上延迟正在使用的东西是一个循环是一个非常糟糕的主意,它试图使计算机的处理器如此忙以至于它实际上停止执行其他命令。不要尝试这样的事情。事实上,我的原始代码是正确的,我在其他地方调用了bannerRotate(),这就是它立即执行的原因。不需要条件。实际上我的原始代码是正确的,我在其他地方调用了bannerRotate(),这就是它立即执行的原因。SetTimeout等待5秒,然后setInterval每5秒重复一次。