繁体   English   中英

为什么这个简单的javascript代码不起作用?

[英]Why is this simple javascript code not working?

var interval = 250
setInterval(function(){
if ( 1==1 ) {
interval = 5000
}
}, interval)

如果1 == 1,则应将间隔设置为5000,但将间隔保持为250。

因为在这种情况下interval仅被评估一次,所以在调用setInterval函数时(请注意与setInterval 参数函数的区别,它将被重复调用)。

要在第一次运行后更改间隔,可以改用setTimeout ,例如:

setTimeout(function() {
  (function _t() {
    // doSomethingUseful(); 
    setTimeout(_t, 5000);
  })();
}, 250);

您必须重新调用setInterval才能更改间隔。 我会改用setTimeout循环。

执行回调函数时,使用250作为参数调用setInterval,并且在函数中更改间隔值时,此更改不会影响先前的设置值。

setInterval将每250 MS调用一次回调,但是setInterval本身将被调用一次

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM