在使用clearTimeout停止setTimeout之后,我需要重新启动它,代码如下:
function start(){timeout = setTimeout(function(){...}, 1000}
function increment(){interval();}
function stop(){clearTimeout(timeout)}更好地解释:对于调用start()的另一个函数,function start()是1000ms的超时。function increment()每隔1000秒就给一个值加上+1,但这与问题无关。最后一个function stop()停止function start()中的setTimeout。我需要在start()中停止setTimeout 1000ms,然后让它继续工作。
发布于 2016-06-22 00:48:53
好的..。我“避免”这个问题……我需要停止setTimeout 1000ms,然后让它正常工作…我试过了,所以...我没有暂停setTimeout,而是添加了另一个时间变量。
var time = 1000;
var timecache = 1000;
fatica = 3000;
sudore = 3000;
function interval() { timeout = setTimeout(increment, time);} //here setTimeout uses var time//
function increment(){console.log(time);point += 1;document.getElementById("pul").value = point;interval();}
function fermafatica() {time = timecache;setInterval(ferma, fatica);} //here the function equals time to timecache so vas time is always 1000ms//
function ferma(){time = 10000; setTimeout(fermafatica, sudore);} // then here I transformed the time in 10000 so the first function will take 10000 instead of 1000 in setTimeout//
//plus i put a setTimeout to recall function fermafatica() that reset the time to 1000//这就是我想要的。我避免了这个问题,并找到了另一种方法来做到这一点…但它确实有效..。不管怎么都要谢谢您
https://stackoverflow.com/questions/37949522
复制相似问题