首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >当计时器结束时,警报窗口会多次弹出。

当计时器结束时,警报窗口会多次弹出。
EN

Stack Overflow用户
提问于 2016-12-30 20:26:21
回答 2查看 375关注 0票数 3

我正在用JS做一个简单的计时器。当计时器命中0时,我想要“时间向上!”突然出现。

代码语言:javascript
运行
复制
$(document).ready(function() {
    updateClock();
    var timeInterval = setInterval(updateClock(), 1000);
});

var ms = 5000;

function updateClock() {
    ms -= 1000;
    var minutes = Math.floor(ms / 1000 / 60);
    var seconds = Math.floor((ms / 1000) % 60);
    $('#minutes').html(minutes);
    $('#seconds').html(seconds);
    if (ms <= 0) {
        alert('Time is up!');
        clearInterval(timeInterval);
    };
}

现在,警报会多次弹出。我怀疑这是因为我不正确地使用clearInterval() --当我打开开发人员控制台时,它说:

“未定义的ReferenceError: timeInterval不在updateClock中定义。”

但是,我不知道要修改什么才能使它正常工作。

EN

Stack Overflow用户

发布于 2016-12-30 20:33:08

变量timeInterval$(document).ready(...)

试试这个:

代码语言:javascript
运行
复制
var timeInterval;

$(document).ready(function() {
    updateClock();
    timeInterval = setInterval(updateClock(), 1000);
});

var ms = 5000;

function updateClock() {
    ms -= 1000;
    var minutes = Math.floor(ms / 1000 / 60);
    var seconds = Math.floor((ms / 1000) % 60);
    $('#minutes').html(minutes);
    $('#seconds').html(seconds);
    if (ms <= 0) {
        alert('Time is up!');
        clearInterval(timeInterval);
    };
}
票数 1
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41402280

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档