如何在JavaScript中杀死setInterval()函数

时间:2015-09-01 08:15:00

标签: javascript

我有这个结论:

 var msec = 100;
   setInterval(function () {
            if (childNodeDocument.readyState == "complete") {
                parent.parent.mapFrame.hideModal;
                alert("complete");
                clearInterval();
            }
        }, msec);

满足此条件时:

childNodeDocument.readyState == "complete"

我想停止执行setInterval()。

但我上面做的方式不起作用。

知道我错过了什么吗?

2 个答案:

答案 0 :(得分:1)

存储setTimeout返回的ID并使用该ID取消...

var msec = 100;
var intervalId = setInterval(function () {
        if (childNodeDocument.readyState == "complete") {
            parent.parent.mapFrame.hideModal;
            clearInterval(intervalId);
            alert("complete");
        }
    }, msec);

另请注意,我已将其放在alert

之前

答案 1 :(得分:1)

var interval = setInterval(function () {
//  ^^^^^^^^
    if (childNodeDocument.readyState == "complete") {
        parent.parent.mapFrame.hideModal;
        clearInterval(interval);
        //            ^^^^^^^^
        alert("complete");
    }
}, msec);