javascript - .hide() div 当计时器达到 0 时

标签 javascript jquery html countdown

我一直在尝试让计时器在到达 00:00 时消失,但每次我尝试某些操作时,它都会立即隐藏 div。

这是我正在使用的代码:

$(document).ready(function(e) {
  var $worked = $("#worked");

  function update() {
    var myTime = $worked.html();
    var ss = myTime.split(":");
    var dt = new Date();
    dt.setHours(0);
    dt.setMinutes(ss[0]);
    dt.setSeconds(ss[1]);

    var dt2 = new Date(dt.valueOf() - 1000);
    var temp = dt2.toTimeString().split(" ");
    var ts = temp[0].split(":");

    $worked.html(ts[1] + ":" + ts[2]);
    setTimeout(update, 1000);
  }

  setTimeout(update, 1000);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="worked">00:10</div>

最佳答案

我为您创建了一个示例。在本例中,我将计时器的间隔更改为 10 毫秒,以便您可以更快地看到结果。也不要设置 setTimeout 来在函数 update 内运行 update。您可以使用setInterval。我还在更新函数中添加了一个检查,检查时间是否为 00:00。如果为 true,则通过调用 clearInterval(timer); 使间隔无效并运行 $worked.hide()

$(document).ready(function (e) {
        var $worked = $("#worked");
        var timer = setInterval(update, 10);

        function update() {
            var myTime = $worked.html();
            var ss = myTime.split(":");
            var dt = new Date();
            dt.setHours(0);
            dt.setMinutes(ss[0]);
            dt.setSeconds(ss[1]);

            var dt2 = new Date(dt.valueOf() - 1000);
            var temp = dt2.toTimeString().split(" ");
            var ts = temp[0].split(":");
            $worked.html(ts[1]+":"+ts[2]);
            $worked.html(ts[1]+":"+ts[2]);

            if(ts[1] === '00' && ts[2] === '00') {
                clearInterval(timer);
                $worked.hide();
            }
        }

});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="worked">01:00</div>

关于javascript - .hide() div 当计时器达到 0 时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42797206/

相关文章:

javascript - FullPage.js 和 SlimScrolling.js 更改滚动步骤

jquery - 使用jquery进行验证

html - CSS 以 Windows Phone 7 为目标

javascript - 背景更改时动态更改文本颜色(javascript)

javascript - JavaScript 中的无序字典

javascript - 无法使用javascript连接网络套接字

javascript - find ('a,b' ) 比 find ('a' )+find ('b' 慢,为什么?

Javascript (Jquery), increment/decrement++/-- operator 计算错误

javascript show hide div by id 问题

javascript - 使用 jQuery 只选择一个元素