倒计时,离开页面时停止,进入时恢复

倒计时,页面隐藏时停止倒计时,重新进入时恢复

html

<h2>剩余时间:</h2>
<h2 id="has-time"></h2>

js

// 倒计时
        let timer = null,
            t = 0,
            time = 0,
            timeout=false,
            getDate = new Date();
        function getCountDown(timestamp) {
            timer = setInterval(function () {
                var nowTime = new Date();
                var endTime = new Date(timestamp);

                t = endTime.getTime() - nowTime.getTime();
                var hour = Math.floor((t / 1000 / 60 / 60) % 24);
                var min = Math.floor((t / 1000 / 60) % 60);
                var sec = Math.floor((t / 1000) % 60);
                if (hour == 0 && min == 0 && sec == 0) {
                    // timeout = true;
                    // $(".submit-btn").click();
                    clearInterval(timer);
                }
                if (hour < 10) {
                    hour = "0" + hour;
                }
                if (min < 10) {
                    min = "0" + min;
                }
                if (sec < 10) {
                    sec = "0" + sec;
                }
                var countDownTime = hour + ":" + min + ":" + sec;
                $("#has-time").html(countDownTime);
            }, 1000);
        }

        //调用函数:
        getCountDown(new Date().getTime() + 1000 * 60 * 45);
    //监听是否离开页面
        document.addEventListener(
            "visibilitychange",
            function () {
                if (document.visibilityState == "hidden") {
                    clearInterval(timer);
                } else {
                    if (timeout) {
                        clearInterval(timer);
                    } else {
                        getCountDown(new Date().getTime() + t);
                    }
                }
            },
            false
        );

源代码:https://github.com/ouxiaojie18/-/blob/master/%E5%80%92%E8%AE%A1%E6%97%B6.html

转载于:https://www.cnblogs.com/mosquito18/p/9719737.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值