我有一個jQuery插件,autofreshes頁面每隔5分鐘。jQuery中使用設置間隔時,如何清除間隔?
(function($) {
$.fn.refreshPage = function() {
setInterval(function() {
function x();
}, 300);
};
})(jQuery);
但問題是,我希望它當某個函數運行,我讀過有關clearInterval復位定時器,但我不知道如何實現,在這裏。更具體地說,我希望函數x在每次運行時清除間隔。
後續問題:
如何在給我的插件目前結構的另一個文件調用clearInterval上的功能?對不起在這裏。謝謝!
任何幫助,將不勝感激。提前致謝!
UPDATE:
我的插件,現在看起來是這樣
(function($) {
var refresh_timer;
$.fn.refreshPage = function() {
refresh_timer = setInterval(function() {
function x();
}, 300);
};
$.fn.reFreshPage.resetTimer = function() {
clearInterval(refresh_timer);
})(jQuery);
我呼籲:
$.fn.reFreshPage.resetTimer
重置間隔,但問題是,它打破了的setInterval並且在定時器重置後不再刷新頁面。我在這裏錯過了什麼嗎?
clearInterval不會復位間隔定時器 - 它停止它完全。如果你想「重啓」它,你將不得不清除當前的時間間隔,然後開始一個新的時間間隔。另外,我不知道你在用「reFreshPage」做什麼,但是如果你真的刷新頁面(例如加載一個新頁面),那麼當前的所有JavaScript停止並被新頁面重新初始化。 – jfriend00