-1
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 仅 1000 毫秒,然后让它继续工作

4

3 回答 3

0

您是否在询问如何在 X 秒后清除超时?我会考虑在重复函数中只计算一个静态变量(我们称之为 X),如果函数每 10 毫秒重复一次,并且您希望它运行 1000 毫秒,那么当 x==100 时,清除超时。

于 2016-06-21T14:37:26.973 回答
0

好的....我“避免”了这个问题....我需要将 setTimeout 停止 1000 毫秒,然后让它正常工作...我尝试过...而不是暂停 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//

这就是我想要的……我避免了这个问题,并找到了另一种方法来做到这一点……但它确实有效……

于 2016-06-21T16:53:48.520 回答
0

你可以试试:

setTimeout(function() {
    z();
    // Do anything else here
}, 1000);

setTimeout函数在设定的时间后运行给定的函数。这将在提供的msz()时间之后调用清除超时的函数。1000

编辑:一切:见下文

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);}

于 2016-06-21T14:36:21.893 回答