js倒计时

2021-07-21  本文已影响0人  圆滚滚大煤球

核心原理
1、封装一个函数,获取当前时间和用户输入时间两者的总毫秒数,除以1000,得到秒数存为变量;
2、用公式分别把月日分秒算出来存为变量赋值给span.innerHTML;

JS

// 获取元素
   var mouth = document.querySelector('.mouth')
   var day = document.querySelector('.day');
   var hour = document.querySelector('.hour');
   var minute = document.querySelector('.minute');
   var second = document.querySelector('.second');
   var inputTime = +new Date('2022-1-1 00:00:00');//返回的是用户输入的时间的总的毫秒数
   countDown();//我们先调用一次这个函数,防止第一次打开有空白

   // 开启定时器
   setInterval(countDown,2000)

   // 封装倒计时函数
   function countDown() {
       var nowTime = +new Date();//返回的是当前时间总的毫秒数
       var times = (inputTime - nowTime) / 1000;//返回的是剩余时间的秒数
       console.log(times);

       var mou = parseInt((times / 60 / 60 / 24 / 30) % 12);//月
       mou = mou < 10 ? '0'+ mou : mou;
       mouth.innerHTML = mou + '月';//把剩余的月给 月盒子

       var d = parseInt((times / 60 / 60 / 24) %30);//天
       d = d < 10 ? '0'+ d : d;
       day.innerHTML = d + '天';//把剩余的天给 天盒子

       var h  = parseInt(times / 60 / 60 % 24);//时
       h = h < 10 ? '0'+ h : h;
       hour.innerHTML = h + '时';//把剩余的小时给 小时盒子

       var m  = parseInt(times / 60 % 60);//分
       m = m < 10 ? '0'+ m : m;
       minute.innerHTML = m + '分';//把剩余的分钟给 分钟盒子

       var s = parseInt(times % 60);//当前的秒
       s = s < 10 ? '0'+ s : s;
       second.innerHTML = s + '秒';//把剩余的秒给 秒盒子
   }

HTML

    <div>
        <span class="mouth"></span>
        <span class="day">1</span>
        <span class="hour">2</span>
        <span class="minute">3</span>
        <span class="second">4</span>

    </div>

CSS

        div span {
            float: left;
            width: 50px;
            height: 30px;
            line-height: 30px;
            text-align: center;
            background-color: #333;
            display: block;
            margin: 5px;
            color: #fff;
            font-size: 16px;
            font-weight: 400;
        }
上一篇下一篇

猜你喜欢

热点阅读