2011-12-05 69 views
1

我試圖重新加載頁面的JavaScript秒每X量,我需要能夠打一個按鈕來停止並啓動它雖然啓動和停止重新加載頁面的JavaScript

所以當你去到頁面,它會剛剛開始刷新每5秒,然後你可以打一個停止按鈕。一旦停止,您可以點擊開始按鈕重新開始。

我不知道我怎麼能做到這一點,可以有人幫助,到目前爲止,我的一切是這樣的..

<script> 

function timedRefresh(timeoutPeriod) { 
    setTimeout("location.reload(true);",timeoutPeriod); 
} 
timedRefresh(5000); 

</script> 

只需要一種方法來阻止它,並再次啓動

回答

2

將這個網頁上,

var timer = function() { 
    window.location.reload(true); 
}; 
var timeout = setTimeout(timer, 5000); 

停止時,

clearTimeout(timeout); 

啓動時,

setTimeout(timer, 5000); 

更新:海報更新問題後更新。

+0

嗨,是clearTimeout和setTimeout的某種內置的JS功能? – JasonDavis

+0

使用函數表達式時,總會被聲明所使用。這似乎是一個無用的額外字符的使用。 – RobG

+0

有時候,表達函數只是更多的單詞,它們是JavaScript世界中的一等公民。 :-) – yuxhuang

1

嘗試:

var rld = setTimeout(window.location.reload, 5000); 

要取消它,當用戶按下停止按鈕:

clearTimeout(rld); 
+0

並重新啓動它? – RobG

+0

@RobG再次調用'setTimeout'代碼。 – Lukman