2014-01-14 44 views
0

我嘗試在if語句中使用JavaScript定時。腳本已執行,但我設置了另一個if語句,如果條件爲真,則清除超時。它不工作。如果條件爲真,則使用if else語句清除JavaScript超時

代碼:

var timeing = setTimeout("timelet()"); 
if(hour==true && min==true){ 
    clearTimeout(timeing); 
    return true; 
} 

如何清除超時如果條件是真的嗎?

+4

你的問題是,你的超時無超時。您必須將毫秒數作爲第二個參數,否則將直接執行,無法避免/禁用/清除。 – androidavid

+4

如果要根據條件清除它,請不要創建超時值? – megawac

+1

真的! 'if(hour && min){do stuff} else {setTimeout(timelet)}' – adeneo

回答

1

很難說你在做什麼,但要麼是這個;

// set the time out and then check and clear it every time its run 
function timelet() { 
    // some stuff 

    if(hour==true && min==true){ 
     clearTimeout(timeing); 
    } 
} 
var timeing = setTimeout(timelet(), 1000); 

OR

// don't set the time out if not required 
if(hour==true && min==true) { 
    // do something 
} else { 
    var timeing = setTimeout(timelet(), 1000); 
} 
-1

你的問題肯定是在這裏:

if(hour==true && min==true) 

揣摩這個合併報表爲真。