2013-04-01 27 views
0

OK ..如果用戶採取任何行動,我必須清除setTimeout,我不希望它繼續並重定向到Google。但它不工作..有人可以看看這個嗎?JavaScript clearTimeout

script type="text/javascript"> 

function redirect() { 
    window.location = "https://google.com"; 
} 

var timer = window.setTimeout("redirect()", 8000); 
var capital = window.prompt("MY Question?",""); 

if(capital != null && capital.length < 1) { 
clearTimeout(timer); 
document.getElementById("firstdiv").innerHTML="Sorry.<br /> The answer is."; 
} 
else { 
if(window.confirm("Is that your final answer?")){ 

document.getElementById("firstdiv").innerHTML = "The answer to the question is: " + capital + ", so says you.";} 
else{ 
var capital = window.prompt("What is the capital of Missouri?",""); 
document.getElementById("firstdiv").innerHTML = "The answer to the question is: " + capital + ", so says you.";} 
</script> 

回答

0

您需要定時器的ID傳遞給clearTimeout

clearTimeout(timer); 

此外,一個字符串不傳遞到setTimeout。傳遞函數:

var timer = window.setTimeout(redirect, 8000); 
// Or 
var timer = window.setTimeout(function() { 
    redirect(); 
}, 8000);