jQuery基于擴展實現(xiàn)的倒計時效果
來源:易賢網(wǎng) 閱讀:1054 次 日期:2016-06-30 16:28:23
溫馨提示:易賢網(wǎng)小編為您整理了“jQuery基于擴展實現(xiàn)的倒計時效果”,方便廣大網(wǎng)友查閱!

這篇文章主要介紹了jQuery基于擴展實現(xiàn)的倒計時效果,涉及jQuery擴展的使用與時間操作的相關技巧,需要的朋友可以參考下

本文實例講述了jQuery基于擴展實現(xiàn)的倒計時效果。分享給大家供大家參考,具體如下:

<div id="fnTimeCountDown" data-end="">

<span class="mini">00</span>分

<span class="sec">00</span>秒

<span class="hm">000</span>

</div>

<script type="text/javascript" src="jquery-2.1.4.min.js"></script>

<script type="text/javascript">

 $.extend($.fn,{

  fnTimeCountDown:function(d){

   this.each(function(){

    var $this = $(this);

    var o = {

     hm: $this.find(".hm"),

     sec: $this.find(".sec"),

     mini: $this.find(".mini"),

     hour: $this.find(".hour"),

     day: $this.find(".day"),

     month:$this.find(".month"),

     year: $this.find(".year")

    };

    var f = {

     haomiao: function(n){

      if(n < 10)return "00" + n.toString();

      if(n < 100)return "0" + n.toString();

      return n.toString();

     },

     zero: function(n){

      var _n = parseInt(n, 10);//解析字符串,返回整數(shù)

      if(_n > 0){

       if(_n <= 9){

        _n = "0" + _n

       }

       return String(_n);

      }else{

       return "00";

      }

     },

     dv: function(){

      //d = d || Date.UTC(2050, 0, 1); //如果未定義時間,則我們設定倒計時日期是2050年1月1日

      var _d = $this.data("end") || d;

      var now = new Date(),

       endDate = new Date(_d);

      //現(xiàn)在將來秒差值

      //alert(future.getTimezoneOffset());

      var dur = (endDate - now.getTime()) / 1000 , mss = endDate - now.getTime() ,pms = {

       hm:"000",

       sec: "00",

       mini: "00",

       hour: "00",

       day: "00",

       month: "00",

       year: "0"

      };

      if(mss > 0){

       pms.hm = f.haomiao(mss % 1000);

       pms.sec = f.zero(dur % 60);

       pms.mini = Math.floor((dur / 60)) > 0? f.zero(Math.floor((dur / 60)) % 60) : "00";

       pms.hour = Math.floor((dur / 3600)) > 0? f.zero(Math.floor((dur / 3600)) % 24) : "00";

       pms.day = Math.floor((dur / 86400)) > 0? f.zero(Math.floor((dur / 86400)) % 30) : "00";

       //月份,以實際平均每月秒數(shù)計算

       pms.month = Math.floor((dur / 2629744)) > 0? f.zero(Math.floor((dur / 2629744)) % 12) : "00";

       //年份,按按回歸年365天5時48分46秒算

       pms.year = Math.floor((dur / 31556926)) > 0? Math.floor((dur / 31556926)) : "0";

      }else{

       pms.year=pms.month=pms.day=pms.hour=pms.mini=pms.sec="00";

       pms.hm = "000";

       //alert('結束了');

       return;

      }

      return pms;

     },

     ui: function(){

      if(o.hm){

       o.hm.html(f.dv().hm);

      }

      if(o.sec){

       o.sec.html(f.dv().sec);

      }

      if(o.mini){

       o.mini.html(f.dv().mini);

      }

      if(o.hour){

       o.hour.html(f.dv().hour);

      }

      if(o.day){

       o.day.html(f.dv().day);

      }

      if(o.month){

       o.month.html(f.dv().month);

      }

      if(o.year){

       o.year.html(f.dv().year);

      }

      setTimeout(f.ui, 1);

     }

    };

    f.ui();

   });

  }

 });

</script>

<script type="text/javascript">

 $("#fnTimeCountDown").fnTimeCountDown("2018/07/08 18:45:13");

</script>

希望本文所述對大家jQuery程序設計有所幫助。

更多信息請查看網(wǎng)絡編程
易賢網(wǎng)手機網(wǎng)站地址:jQuery基于擴展實現(xiàn)的倒計時效果

2025國考·省考課程試聽報名

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網(wǎng)安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權所有:易賢網(wǎng)