JS实现倒计时(一个页面多个倒计时)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Julylyna/article/details/81980786
<span>
    <i class="day-countdown" id="{$p.id}" data-timestamp="{$p.end_time}">00天00:00:00</i>后        
    过期
</span>
<!-- $p.id:后台传来的唯一号
     $p.end_time:后台传来的时间戳
     data-timestamp:自定义倒计时属性 -->
        $.each($(".day-countdown"),function(){
            var timer = [];
            timer.push($(this).data("timestamp"));
            var divId = [];
            divId.push($(this).attr("id"));
            var date = new Date(parseInt(timer)*1000);
            if(timer!=0){
                setInterval(function(){
                    ShowCountDown(
                        date.getFullYear(),
                        date.getMonth()+1,
                        date.getDate(),date.getHours(),
                        date.getMinutes(),
                        date.getSeconds(),
                        divId);
                },1000);
            }
        });
        function ShowCountDown(year,month,day,h,m,s,divname)
        {
            var now = new Date();
            var endDate = new Date(year, month-1, day,h,m,s);
            var leftTime=endDate.getTime()-now.getTime();
            var leftsecond = parseInt(leftTime/1000);
            var day1=checkTime(Math.floor(leftsecond/(60*60*24)));
            var hour=checkTime(Math.floor((leftsecond-day1*24*60*60)/3600));
            var minute=checkTime(Math.floor((leftsecond-day1*24*60*60-hour*3600)/60));
            var second=checkTime(Math.floor(leftsecond-day1*24*60*60-hour*3600-minute*60));
            var cc = document.getElementById(divname);
            if(day1 <= 0 && hour <= 0 && minute <=0 && second <= 0){
                window.clearInterval();
            }else if(day1 === "0-1" || hour === "0NaN" || minute === "0NaN" || second === "0NaN"){
                window.clearInterval();
            }else if(day1 == "00" && (hour != "0" || minute != "0" || second != "0")){
                cc.innerHTML = hour+":"+minute+":"+second; //有效期在24小时内开始时分秒倒计时
            }else{
                if(cc != null){
                    cc.innerHTML = parseInt(day1)+"天"; //有效期在24小时外以天为单位进行倒计时
                }
            }
        }

        function checkTime(i){
            if (i < 10) {
                i = "0" + i;
            }
            return i;
        }

猜你喜欢

转载自blog.csdn.net/Julylyna/article/details/81980786