原生 js 封装 倒计时

 <ul>
        <li class="day">1</li>
        <li class="hour">1</li>
        <li class="minute">2</li>
        <li class="second">3</li>
    </ul>

先创建几个li 分别代表 .day天 .hour小时 .minute分钟 .second 秒

因为倒计时是不断变化的,因此需要定时器来自动变化(setInterval)

三个盒子分别存放时分秒

第一次执行也是间隔毫秒数,因此刚刷新页面会有空白

采取封装函数的方式,这样可以先调用一次这个函数,防止第一次刷新页面有空白我们先调用一次这个函数

var hour = document.querySelector('.hour')//小时
var day = document.querySelector('.day')   //天
var minute = document.querySelector('.minute')//分钟
var second = document.querySelector('.second')//秒
var date2 = +new Date('2022-04-05 00:00:00'); //从那一天几点几分开始倒计时

 down();//我们先调用一次这个函数,防止第一次刷新页面有空白
        //2.开启定时器
        setInterval(down, 1000)
        function down(time) {
            var date1 = new Date()
            var haoMiao = (date2 - date1) / 1000;
            var dey = parseInt(haoMiao / (24 * 60 * 60));
            dey = dey < 10 ? '0' + dey : dey;   //天数少于10前面加 0
            day.innerHTML = dey
            var dey1 = parseInt(haoMiao % (24 * 60 * 60));
            var shi = parseInt(dey1 / (60 * 60));
            shi = shi < 10 ? '0' + shi : shi;   //小时数少于10前面加 0
            hour.innerHTML = shi;
            var shi1 = parseInt(dey1 % (60 * 60));
            var fenzhong = parseInt(shi1 / 60);
            fenzhong = fenzhong < 10 ? '0' + fenzhong : fenzhong;  //分钟少于10前面加 0
            minute.innerHTML = fenzhong;
            var miao = parseInt(shi1 % 60);
            miao = miao < 10 ? '0' + miao : miao;   //秒数少于10前面加 0
            second.innerHTML = miao;
        }

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值