从函数外部的clearInterval

时间:2017-02-16 13:34:49

标签: javascript jquery

我想制作一个可以显示倒计时的计时功能。我是这样做的。当时间结束时,clearInterval(timing)

但我希望能够在倒计时和clearInterval(timing)中断函数。

    var timing = function(x,callback) {
        var seconds = x;
        var second = 1;
        var timing;

        $("#timing h1").text(seconds);
        $("#timing").show();
        timing = setInterval(function() {
            $("#timing h1").text(seconds - second);
            if (second >= (seconds - second) ) {
                clearInterval(timing);
                $("#timing").hide();
                callback();
            }
            seconds--;
        }, 1000);
    }

1 个答案:

答案 0 :(得分:1)

您需要将_timing(重命名)变量设为全局变量。因此,以下代码应该可以工作:

var timing = function(x, callback) {
    var seconds = x;
    var second = 1;
    $("#timing h1").text(seconds);
    $("#timing").show();
    _timing = setInterval(function() {
        $("#timing h1").text(seconds - second);
        if (second >= (seconds - second)) {
            clearInterval(_timing);
            $("#timing").hide();
            callback();
        }
        seconds--;
    }, 1000);
}