用js实现倒计时效果


首先获得两个时间的时间戳

            var newdate = new Date('2021-01-22 21:25:00').getTime();
            var olddate = new Date().getTime();

然后相减获得相差时间的毫秒数

            var difference = newdate - olddate

计算还有多少天,多少小时,多少分,多少秒

1        var day = parseInt(difference / 1000 / 60 / 60 / 24);
2             difference = difference % (1000 * 60 * 60 * 24)
3             var hours = parseInt(difference / 1000 / 60 / 60);
4             difference = difference % (1000 * 60 * 60)
5             var m = parseInt(difference / 1000 / 60);
6             difference = difference % (1000 * 60)
7             var s = parseInt(difference / 1000)

最后打印一下,就是距离目标时间的天数(精确到秒)

            console.log(day + '-' + hours + '-' + m + '-' + s);

怎么让他显示在页面上并且一直动呢,,这时候我们的定时器就登场了

首先创建一个div盒子存放所有的数字

    
小时

然后动态添加

            show[0].innerHTML = day;
            show[1].innerHTML = hours;
            show[2].innerHTML = m;
            show[3].innerHTML = s;

封装函数,并加入定时器,

完整代码来啦(直接复制粘贴到html就可以运行)





    
    
    Document



    
小时

注意:自己用的时候可以写一个简单的判断,如果 difference (相差毫秒数)小于等于零,可以show.innerHTML添加一个提示,

还有还有,我这里设置的时间比较近,因为那个时辰对我来说很重要,我很期待,过几天可能会是负数,所以我没设置提示,也是避免大家误会,你们可以在new Date('')写任何时间,如果不用当前时间可以设置每秒让秒数减一就可以,下次有空再整理啦

哦!对了,这不适用于苹果手机哦

我记得之前看到苹果手机里要用new Data(Mon Jan 11 2021 14:46:33 GMT+0800)这种模式,大家试试哦~