js毫秒倒计时

刷新时间也不一定就是50毫秒最好,但是考虑到人的肉眼识别能力,刷新频率太快也没啥意义,另外,我们应该考虑到两种需求情况:1.现在距离将来某一时间还有多久;2.从过去某一时间到现在已经经历了多久。

<div id="timeB"></div>
<script type="text/javascript">
    function countDown(endTime, startTime = new Date()) {//为了满足一些特殊情况这里给一个开始时间的参数并附上默认值,一般情况只需要传入结束时间即可
        let date = endTime - startTime; //时间差  
        let mmsec = date % 1000 //所余毫秒数  
        let seconds = Math.floor(date / 1000 % 60); //所余秒数  
        let minutes = Math.floor(date / 1000 / 60 % 60); //所余分钟数  
        let hour = Math.floor(date / 1000 / 60 / 60 % 24); //所余时钟数  
        let day = Math.floor(date / 1000 / 60 / 60 / 24); //天数  
        return {
            day: day
            , hour: hour
            , minutes: minutes
            , seconds: seconds
            , mmsec: mmsec
        }
    }
    const timeB = document.querySelector('#timeB');
    //开启定时器
    setInterval(() => {
        let time = countDown(new Date(2016, 8, 1));//只需要传入结束时间
        timeB.innerHTML = "距离2016年9月1号00点还有" + time.day + "天" + time.hour + "小时" + time.minutes + '分钟' + time.seconds + '秒' + time.mmsec + "毫秒";
    }, 50);
</script>

效果: 

猜你喜欢

转载自cobain-li.iteye.com/blog/2316981