2011-12-06 94 views
0

我目前使用一個簡單的JavaScript重定向(加載時調用),並自動將用戶從舊文章重定向到公司wiki中的新文章。但是,Id像用戶能夠停止autoredirect,以便他們可以根據需要訪問舊數據。Interupt一個延遲的javascript重定向

我該如何修改此代碼以實現該目標?

<script type="text/javascript"> 
var h = setTimeout("iiredirect()", 2000); 
function iiredirect() { window.location = "that new location"; } 
</script> 
+1

請將''iiredirect()''改爲'iiredirect'。 –

+0

@PeterOlson:爲什麼?要麼似乎工作:http://jsfiddle.net/simtali/P2ehw/ – Daniel

+0

@Daniel他們都將工作,但傳遞一個字符串參數到'setTimeout'或'setInterval'進行評估字符串中的代碼,這是當你可以直接傳遞一個函數時是不必要的。 –

回答

2

假設button是一個參考你的取消重定向按鈕。

var timeout = setTimeout(function() { 
    window.location = "that new location"; 
}, 2000); 

button.addEventListener('click', function() { 
    clearTimeout(timeout); 
}, false); 
2

clearTimeout(h)應該這樣做。這將取消運行超時。