2016-06-21 6 views
0

のsetTimeoutとてclearTimeout

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

より良い説明: function start()start()を思い出して、別の機能のために1000ミリ秒のタイムアウトです。 function increment() 1000秒ごとに値に+1を追加するだけで問題はありません。 最後のfunction stop()は、function start()setTimeoutを停止します。 setTimeoutstart()にちょうど1000msだけ停止させてから、そのまま動作させる必要があります。

+0

とにかくありがとう質問は何ですか? – Liam

+1

私は別のsetTimeoutを試してみましたが、increment()の1秒ごとに1秒間は普通ではありません(2〜3ポイント1秒ジャンプし、4〜5ポイントジャンプします...) – Maker

+0

'stop(); start(); '? –

答えて

0

ok ....問題を回避するには... setTimeoutを1000msで停止してから正常に動作させる必要があります。 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// 

これは...

関連する問題