关于倒计时的问题。出现跳秒。。。

图片说明
1. 需求是一个倒计时,插件使用的是$.leftTime 插件 做的倒计时功能, 其中相差的毫秒数是自己计算的。 但是在倒计时反复调用过程中会出现跳秒的情况,刚开始的时候是出现跳两秒,后面越来越多,图片说明

3个回答

做这个没用过插件,你的整体思路是对就是在调用插件哪里你可以用原生计时器setTimeout来实现,自行百度很简单,
在反复带调用的时候看业务需求,你写的好像是重新执行,是的话就判断计时器是否存在存在就销毁重新创建没有存在就创建

weixin_43365995
星河世界 你如果是发的代码片段我都直接给你写好了
8 个月之前 回复
var oSpan = document.getElementById('clock');
        function tow(n) {
            return n >= 0 && n < 10 ? '0' + n : '' + n;
        }

function getDate() {
            var oDate = new Date();//获取日期对象
            var oldTime = oDate.getTime();//现在距离1970年的毫秒数
            var newDate = new Date('2019/6/11 10:00:00');
            var newTime = newDate.getTime();//2019年距离1970年的毫秒数
            var second = Math.floor((newTime - oldTime) / 1000);//未来时间距离现在的秒数
            var day = Math.floor(second / 86400);//整数部分代表的是天;一天有24*60*60=86400秒 ;
            second = second % 86400;//余数代表剩下的秒数;
            var hour = Math.floor(second / 3600);//整数部分代表小时;
            second %= 3600; //余数代表 剩下的秒数;
            var minute = Math.floor(second / 60);
            second %= 60;
            var str = " <strong>" + tow(day) + "</strong>天<strong>" + tow(hour) + "</strong>时<strong>" + tow(minute) + "</strong>分<strong>" + tow(second) + "</strong>秒"
            oSpan.innerHTML = str;
        }


                $(document).ready(function () { 
            getDate();
            setInterval(getDate, 1000);
        })

应该少些个销毁计时器

hsywan
大脸猫baby 感谢大佬,问题最后解决了 ,是因为我当时没有写倒计时结束之后没有清除计时器
8 个月之前 回复
weixin_42861240
葉幺 可以百度下计时器的创建和销毁
8 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问