zoukankan      html  css  js  c++  java
  • jQuery实现的美观的倒计时实例代码

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset=" utf-8">
    <meta name="author" content="http://www.softwhy.com/" />
    <title>倒计时效果代码-蚂蚁部落</title>
    <style type="text/css">
    * {
      padding:0;
      margin:0;
    }
    .colockbox {
      250px;
      height:30px;
      overflow:hidden;
      color:#000000;
      background:url(mytest/jQuery/colockbg.png) no-repeat;
      margin:0px auto;
    }
    .colockbox span {
      float:left;
      display:block;
      40px;
      height:29px;
      line-height:29px;
      font-size:20px;
      font-weight:bold;
      text-align:center;
      color:#ffffff;
      margin-right:22px;
    }
    </style>
    <script type="text/javascript" src="http://www.softwhy.com/mytest/jQuery/jquery-1.8.3.js"></script>
    <script type="text/javascript">
    $(function(){
      countDown("2016/2/3 6:30:59","#colockbox1");
    });
    function countDown(time,id){
      var day_elem=$(id).find('.day');
      var hour_elem=$(id).find('.hour');
      var minute_elem=$(id).find('.minute');
      var second_elem=$(id).find('.second');
      var end_time = new Date(time).getTime();
      var sys_second = (end_time-new Date().getTime())/1000;
      var timer = setInterval(function(){
        if(sys_second>1) {
          sys_second-=1;
          var day=Math.floor((sys_second/3600)/24);
          var hour=Math.floor((sys_second/3600)%24);
          var minute=Math.floor((sys_second/60)%60);
          var second=Math.floor(sys_second%60);
          $(day_elem).text(day);
          $(hour_elem).text(hour<10?"0"+hour:hour);
          $(minute_elem).text(minute<10?"0"+minute:minute);
          $(second_elem).text(second<10?"0"+second:second);
        }
        else {
          clearInterval(timer);
        }
      }, 1000);
    }
    </script>
    </head>
    <body>
    <div class="colockbox" id="colockbox1">
      <span class="day">00</span>
      <span class="hour">00</span>
      <span class="minute">00</span>
      <span class="second">00</span>
    </div>
    </body>

    </html>

    一.实现原理:
    原理比较简单,就是取得到期时间的时间戳减去当前时间的时间戳,就是两者之间相差的秒数,然后通过这个秒数除以3600就是相差的 小时数,然后再除以24,然后使用Math.floor()函数进行下舍入,就是相差的天数,下面获取小时、分钟和秒都是此原理。使用定时器函数每隔一秒 调用一次相应的函数就实现了倒计时的效果。
    二.代码注释:
    1.$(function(){}),当文档结构完全加载完毕再去执行函数中的代码。
    2.countDown("2016/2/3 6:30:59","#colockbox1"),调用函数,第一个参数是到期的时间,第二个是div的id属性值。
    3.function countDown(time,id){},声明此函数。
    4.var day_elem=$(id).find('.day'),获取div下class属性值为day的对象。
    5.var hour_elem=$(id).find('.hour'),获取div下class属性值为hour的对象。
    6.var minute_elem=$(id).find('.minute'),获取div下class属性值为minute的对象。
    7.var second_elem=$(id).find('.second'),获取div下class属性值为second的对象。
    8.var end_time=new Date(time).getTime(),获取到期事件的时间戳。
    9.var sys_second=(end_time-new Date().getTime())/1000,获取到期时间和当前时间相差的秒数。
    10.var timer=setInterval(function(){},1000),每隔一秒执行一次函数。
    11.if(sys_second>1) ,如果相差的秒大于1。
    12.sys_second-=1,秒减一。
    13.var day=Math.floor((sys_second/3600)/24),获取相差的天数。
    14.var hour=Math.floor((sys_second/3600)%24),获取相差的小时数,注意后面是取模运算。
    15.var minute=Math.floor((sys_second/60)%60),获取相差的分钟数。
    16.var second=Math.floor(sys_second%60),获取相差的秒数。
    17.$(day_elem).text(day),将天写入span元素。
    18.$(hour_elem).text(hour<10?"0"+hour:hour),将小时写入span,如果小时数小于10,前面加0,后面同样的道理。
    19.clearInterval(timer),如果相差的秒数到0,就停止计时器函数setInterval的执行。

    后来都会美好的!
  • 相关阅读:
    .net core系列之《.net平台历程介绍以及.net framework和.net core对比》
    C++ 拷贝构造函数
    C++ const引用
    C++ 引用和指针
    C++ 将派生类赋值给基类(向上转型)
    C++ 虚继承
    C++ 基类和派生类的构造函数以及析构函数
    C++ 类继承时的作用域嵌套和对象内存模型
    C++ private + protected + public
    C++ const成员变量、成员函数和对象
  • 原文地址:https://www.cnblogs.com/momox/p/5090733.html
Copyright © 2011-2022 走看看