倒计时封装

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
  <script src="js/jquery-1.7.1.min.js"></script>
  <style type="text/css">
    .bj{
        background-color:grey;
    }
    #djs{
        text-align:center;
        color:#fff;
        font-size:15px; 
        margin-top:200px;
        text-shadow:1px 1px 1px rgba(0,0,0,0.4)
        }
    .js-bj {
        background:#505050;
        color:#fff;
        border-radius:5px;
        width:35px;
        font-family:Impact;
        font-size:20px;
        display:inline-block
        }
  </style>
</head>
<body class='bj'>
    <div id="djs">
    </div> 
</body> 

<script type="text/javascript">
    var sdate = new Date();   //开始时间
    var edate = new Date(2115, 05, 01, 07, 11, 00);  //结束时间
    var diffdate = edate.getTime() - sdate.getTime();   //时间差的毫秒数
    var sysSecond = diffdate / 1000; //转化为秒

    var interValObj;   //定义计时器名称

    function setRemainTime() {
        if (sysSecond > 0) {
            var second = Math.floor(sysSecond % 60) >= 10 ? Math.floor(sysSecond % 60) : ('0' + Math.floor(sysSecond % 60));// 计算秒     
            var minite = Math.floor((sysSecond / 60) % 60) >= 10 ? Math.floor((sysSecond / 60) % 60) : ('0' + Math.floor((sysSecond / 60) % 60));//计算分
            var hour = Math.floor((sysSecond / 3600) % 24) >= 10 ? Math.floor((sysSecond / 3600) % 24) : ('0' + Math.floor((sysSecond / 3600) %24));//计算小时
            var day = Math.floor((sysSecond / 3600) /24)%365 >= 10 ? Math.floor((sysSecond / 3600) /24)%365 : ('0' + Math.floor((sysSecond / 3600) /24)%365);//计算天
            var year = Math.floor((sysSecond / 3600) / 24/365) >= 10 ? Math.floor((sysSecond / 3600) / 24/365) : ('0' + Math.floor((sysSecond / 3600) / 24/365));//计算年

            var timeHtml = "<label><b>距离国足夺取世界杯还剩:</b></label><label class='js-bj'>" + year + "</label>&nbsp;年&nbsp;<label class='js-bj'>" + day + "</label>&nbsp;天&nbsp;<label class='js-bj'>" + hour + "</label>&nbsp;时&nbsp;<label class='js-bj'>" + minite + "</label>&nbsp;分&nbsp;<label class='js-bj'>" + second + "</label>&nbsp;秒"
            try {
                $("#djs").html(timeHtml);
                sysSecond--;
            }
            catch (e) { }
            
            
            
            interValObj = window.setTimeout("setRemainTime()", 1000);
        }
        else {
            $("#djs").html("<label><b>恭喜国足成功夺取世界杯:</b></label><label class='js-bj'>00</label>&nbsp;年&nbsp;<label class='js-bj'>00</label>&nbsp;天&nbsp;<label class='js-bj'>00</label>&nbsp;时&nbsp;<label class='js-bj'>00</label>&nbsp;分&nbsp;<label class='js-bj'>00</label>&nbsp;秒");
            window.clearTimeout(interValObj);
        }
    }
    setRemainTime();
</script>
</html>

二.改进后用定时器的方法

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>倒计时实现</title>
    </head>
     <script src="js/jquery-1.7.1.min.js"></script>
  <style type="text/css">
    .bj{
        background-color:grey;
    }
    #djs{
        text-align:center;
        color:#fff;
        font-size:15px;
        margin-top:200px;
        text-shadow:1px 1px 1px rgba(0,0,0,0.4)
        }
    .js-bj {
        background:#505050;
        color:#fff;
        border-radius:5px;
        width:35px;
        font-family:Impact;
        font-size:20px;
        display:inline-block
        }
  </style>
    <body class='bj'>
    <div id="djs">
    </div> 
</body> 

<script type="text/javascript">
    var sdate,edate,diffdate,sysSecond,Timer;
    sdate=new Date();//当前时间
    edate=new Date(2019,06,06,10,10,00);//活动开始时间
    diffdate=edate.getTime()-sdate.getTime();//时间点相差毫秒数
    sysSecond=(diffdate/1000); //转换为秒
    Timer=setInterval(function(){
        if (sysSecond > 0) {
            var second = Math.floor(sysSecond % 60) >= 10 ? Math.floor(sysSecond % 60) : ('0' + Math.floor(sysSecond % 60));// 计算秒     
            var minite = Math.floor((sysSecond / 60) % 60) >= 10 ? Math.floor((sysSecond / 60) % 60) : ('0' + Math.floor((sysSecond / 60) % 60));//计算分
            var hour = Math.floor((sysSecond / 3600) % 24) >= 10 ? Math.floor((sysSecond / 3600) % 24) : ('0' + Math.floor((sysSecond / 3600) %24));//计算小时
             var day = Math.floor((sysSecond / 3600) /24)%365 >= 10 ? Math.floor((sysSecond / 3600) /24)%365 : ('0' + Math.floor((sysSecond / 3600) /24)%365);//计算天
            var year = Math.floor((sysSecond / 3600) / 24/365) >= 10 ? Math.floor((sysSecond / 3600) / 24/365) : ('0' + Math.floor((sysSecond / 3600) / 24/365));//计算年

            var timeHtml = "<label><b>距离国足夺取世界杯还剩:</b></label><label class='js-bj'>" + year + "</label>&nbsp;年&nbsp;<label class='js-bj'>" + day + "</label>&nbsp;天&nbsp;<label class='js-bj'>" + hour + "</label>&nbsp;时&nbsp;<label class='js-bj'>" + minite + "</label>&nbsp;分&nbsp;<label class='js-bj'>" + second + "</label>&nbsp;秒"
           
                $("#djs").html(timeHtml);
                sysSecond--;
           
        }else{
            $("#djs").html("<label><b>恭喜国足成功夺取世界杯:</b></label><label class='js-bj'>00</label>&nbsp;年&nbsp;<label class='js-bj'>00</label>&nbsp;天&nbsp;<label class='js-bj'>00</label>&nbsp;时&nbsp;<label class='js-bj'>00</label>&nbsp;分&nbsp;<label class='js-bj'>00</label>&nbsp;秒");
           clearInterval(Timer);
        }
        
        
    },1000)

    
    
    
    
    
    
    
</script>

</html>

转载于:https://my.oschina.net/ochmdlc/blog/837579

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值