2016-06-21 4 views
0

내가이 clearTimeout 에 코드를을 중지 한 후 setTimeout를 다시 시작해야하는 것은 같은 것입니다 : 에서는 setTimeout 및 사항 clearTimeout

function start(){timeout = setTimeout(function(){...}, 1000} 
function increment(){interval();} 
function stop(){clearTimeout(timeout)} 

더 나은

설명 : function start()start()을 불러 또 다른 기능 1000MS의 타임 아웃입니다. function increment() 1000 초마다 하나의 값에 +1을 더하면 문제는 발생하지 않습니다. 마지막으로 function stop()setTimeoutfunction start()에서 중지합니다. setTimeoutstart()에서 1000ms 만 멈추고 작업을 계속 진행해야합니다.

+0

문제는 무엇입니까? – Liam

+1

나는 또 다른 setTimeout을 시도했지만 increment()의 1 초마다 +1이 규칙적이지는 않습니다 (2-3 점 1 초 점프, 4-5 점 점프 ...) – Maker

+0

stop(); 시작();'? –

답변

0

ok .... "피하십시오"문제가 발생했습니다 ... 1000ms 동안 setTimeout을 중지하고 정상적으로 작동하게해야합니다 ... 나는 시도했습니다 ... setTimeout을 일시 중지하는 대신 I 또 다른 시간을 넣어.

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// 

이 내가 원하는 내가 ... 내가 문제를 방지하고 그렇게 할 수있는 또 다른 방법을 발견 ...하지만 그것은 작동합니다 ... 감사 어쨌든