尝试暂停setInterval时遇到问题

时间:2013-03-18 12:17:48

标签: javascript jquery asp.net-mvc asp.net-mvc-3 asp.net-mvc-2

在我的JQuery中,我有一些代码在我的Web.config中提到的每个时间间隔后进入数据库...我也有一个按钮,点击 按钮应该将当前的SetInterval停止到10秒......我正在使用下面提到的代码..

window.setTimeout(MyFunction, 10000);

MyFunction是回调

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

控制器操作

public JsonResult GetUpdates()
{
}

困惑是它仍然会再次进入数据库。

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

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

ClearInterval(Interval);

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