2013-03-18 408 views
-1

在我的JQuery中,我有一些代碼在我的Web.config中提到的每個時間間隔後都會到數據庫中...我也有一個按鈕,點擊 按鈕應該停止當前的setInterval 10秒...我使用下述代碼..在嘗試暫停setInterval時面臨問題

window.setTimeout(MyFunction, 10000); 

myFunction是回調

function MyFunction() { 
    window.setTimeout(MyFunction, 10000); 
} 

控制器操作

public JsonResult GetUpdates() 
{ 
} 

混亂是它仍然會去數據庫了。

+3

那麼你如何阻止這個過程呢? – mattytommo

+0

@mattytommo我想暫停它一段時間 – SMC

+1

你不能暫停它,你將不得不添加和刪除超時。 – mattytommo

回答

0
var Interval = window.setTimeout(MyFunction, 10000); 

ClearInterval(Interval); 

    setTimeout(function() { 
     //Code 
    }, 10000); 
1

如果你想暫停功能執行,你可以有內部MyFunction的條件被檢查按鈕是否被點擊和再註冊其他setTimeout回調:當你點擊只需設置按鈕

function MyFunction() { 
    if (window.pauseExecution) { 
     return; 
    } 

    // do the processing here ... 

    // schedule another call in 10 seconds 
    window.setTimeout(MyFunction, 10000); 
} 

window.pauseExecution全局變量爲true。如果您想要恢復,請將其設置爲false