gpt4 book ai didi

javascript - 什么是切换 javascript 计时器的更优雅的方式

转载 作者:搜寻专家 更新时间:2023-11-01 05:17:56 25 4
gpt4 key购买 nike

我制作并使用了这个,但我知道有更好的方法:

function toggle_timer()
{
if(timer_id > 0){
clearTimeout(timer_id);
timer_id=0;
}

else timer_id = setInterval("go()", interv);
}

它基于这样一个假设,即您只会使用 1 个计时器(否则,谁知道您会清除哪个计时器?)到目前为止,这还没有造成问题(奇迹,我知道)。

最佳答案

您可以将它包装到一个记住计时器 ID 的对象中:

function timer( millis_, f_ ) {
return {
f: f_,
millis: millis_,
toggle: function(){
if( this.id > 0 ) clear();
else start();
},
clear: function(){ clearInterval( this.id ); this.id=0; },
start: function(){ this.id=setInterval( this.f, this.millis ); }
};
}

var t1=timer(1000, function(){alert("1000");} );
var t2=timer(10000, function(){ alert("a long time");});

t1.toggle();
t2.toggle();

免责声明:未经测试 - 捕获这个想法!

关于javascript - 什么是切换 javascript 计时器的更优雅的方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3249491/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com