我可以在20个地方手动添加对函数soapFlow()的调用。但是,我宁愿切换一个函数,该函数设置setinterval,而则保留:
<li onclick="pre_reg_on();" >auto-reg</li>
function greet() {setInterval(soapFlow, 5000);}
function pre_reg_on () {greet();}它应该每5秒调用函数greet(),但它只调用它一次。
发布于 2021-08-09 00:46:32
应该在您希望它执行的函数之外调用setInterval()。此外,为了避免多个定时器,在设置新定时器之前,应该始终清除以前的定时器:
function greet() {
console.log("greet() executed " + Date())
}
function pre_reg_on() {
stopInterval();
greet(); //execute imediately
greet.interval = setInterval(greet, 5000);
}
function stopInterval()
{
if (!greet.interval)
return;
clearInterval(greet.interval); // make sure clear previous interval;
console.log("timer stopped " + Date());
delete greet.interval;
}<li onclick="pre_reg_on();">auto-reg</li>
<li onclick="stopInterval();">stop</li>
https://stackoverflow.com/questions/68705644
复制相似问题