var time = 1000;
var point = 0;
function interval() { timeout = setTimeout(increment, time);}
function increment(){point += 1;document.getElementById("pul").value = point;interval();}
time2 = 3000;
function fermafatica() {setInterval(ferma, time2);}
function ferma(){clearTimeout(timeout)}
我需要在interval()中停止interval()函数或setTimeout仅1000ms,然后让它保持工作
答案 0 :(得分:0)
你可以尝试:
setTimeout(function() {
z();
// Do anything else here
}, 1000);
setTimeout
函数在一段时间后运行给定的函数。这将调用z()
函数,该函数在提供的1000
ms时间后清除超时。
编辑:一切:见下文
var time = 1000;
var point = 0;
function interval() { timeout = setTimeout(increment, time);}
function increment(){point += 1;document.getElementById("pul").value = point;interval();}
time2 = 3000;
function fermafatica() {setInterval(ferma, time2);}
function ferma(){clearTimeout(timeout)}
更改function fermafatica() {setInterval(ferma, time);}
到function fermafatica() {setTimeout(ferma, time);}
答案 1 :(得分:0)
您是否在询问X秒后如何清除超时?我会考虑在重复函数中只有一个静态变量(让我们称之为X)计数,如果函数每10ms重复一次,并且你希望它运行1000ms,那么当x == 100时,清除超时。
答案 2 :(得分:0)
好吧......我"避免"问题....我需要停止setTimeout 1000ms,然后让它正常工作...我试过......而不是暂停setTimeout我把另一个时间var。
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//
这就是我想要的......我避免了这个问题,并找到了另一种方法来做到这一点......但它确实有效......