1. 程式人生 > >倒計時-做一個活動的倒計時,超出日期,倒計時結束。。。學習setTimeout和setInterval及clearInterval的典型例子

倒計時-做一個活動的倒計時,超出日期,倒計時結束。。。學習setTimeout和setInterval及clearInterval的典型例子



var fillNumber = function(num) {
        let number = Math.floor(num);//向下取整
        return number>9?number:'0'+number;
    }

    var timeChange = function(){
        let endDate = new Date('2019-06-06 23:50');
        let nowDate = new Date();
        let leftDate = endDate - nowDate;
        if(leftDate<0){
            clearInterval(time);//當無剩餘時間了,就停止執行timeChange函式
        }
        //求天時分秒 leftDate是毫秒
        let leftSecond = fillNumber(leftDate/1000%60);
        let leftMinute = fillNumber(leftDate/(1000*60)%60);
        let leftHours = fillNumber(leftDate/(1000*60*60)%60);
        let leftDay = fillNumber(leftDate/(1000*60*60)/24);
        console.log(leftDay+'天'+leftHours+'小時'+leftMinute+'分鐘'+leftSecond+'秒');

    }

    setTimeout(timeChange, 0);//此處作用是為了第一次渲染時,立刻顯示剩餘時間
    var time = setInterval(timeChange, 1000);//每隔一秒,執行timeChange函式,利用此函式不斷得到最新的剩餘時間,顯示在頁面上,從而顯示出倒計時的效果

列印結果: