jQuery倒數計時效果程式碼例項
倒數計時效果在很多功能中都有使用,比如團購或者考試或者體育比賽等。
下面就是一個jQuery程式碼實現的倒數計時功能,下面就做一下分析。
程式碼例項如下:
[HTML] 純文字檢視 複製程式碼<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style type="text/css"> *{ font-style:normal; font-weight:normal; } .haveday{ padding:20px; border:1px dashed #000; margin-right auto; margin-left:auto; width:300px; } </style> <script src="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script> <script> function lxfEndtime(){ $(".lxftime").each(function(){ var lxfday=$(this).attr("lxfday");//用來判斷是否顯示天數的變數 var endtime = new Date($(this).attr("endtime")).getTime(); //取結束日期(毫秒值) var nowtime = new Date().getTime(); //今天的日期(毫秒值) var youtime = endtime-nowtime;//還有多久(毫秒值) var seconds = youtime/1000; var minutes = Math.floor(seconds/60); var hours = Math.floor(minutes/60); var days = Math.floor(hours/24); var CDay= days ; var CHour= hours % 24; var CMinute= minutes % 60; var CSecond= Math.floor(seconds%60); //"%"是取餘運算,可以理解為60進一後取餘數,然後只要餘數。 if(endtime<=nowtime){ $(this).html("已過期") //如果結束日期小於當前日期就提示過期啦 } else{ if($(this).attr("lxfday")=="no"){ $(this).html("<i>剩餘時間:</i><span>" +CHour+"</span>時<span>" +CMinute+"</span>分<span>" +CSecond+"</span>秒"); //輸出沒有天數的資料 } else{ $(this).html("<i>剩餘時間:</i><span>" +days+"</span><em>天</em><span>" +CHour+"</span><em>時</em><span>" +CMinute+"</span><em>分</em><span>" +CSecond+"</span><em>秒</em>"); //輸出有天數的資料 } } }); setTimeout("lxfEndtime()",1000); }; $(function(){ lxfEndtime(); }); </script> </head> <body> <div class="haveday"> <h1>含有天數的倒數計時</h1> <div class="lxftime" endtime="11/15/2018 17:24:0"></div> <div class="lxftime" endtime="11/8/2018 3:3:20"></div> <div class="lxftime" endtime="9/6/2018 6:1:0"></div> <div class="lxftime" endtime="6/6/2018 9:3:5"></div> </div> <p></p> <div class="haveday"> <h1>沒有天數的倒數計時</h1> <div class="lxftime" endtime="11/15/2018 17:24:0" lxfday="no"></div> <div class="lxftime" endtime="11/8/2018 3:3:20" lxfday="no"></div> <div class="lxftime" endtime="9/6/2018 6:1:0" lxfday="no"></div> <div class="lxftime" endtime="6/6/2018 9:3:5" lxfday="no"></div> </div> </body> </html>
上面的程式碼實現了我們的要求,下面介紹一下它的實現過程。
一.程式碼註釋:
(1).function lxfEndtime(){},此方法實現了計算當前時間和結束時間差的功能。(2).$(".lxftime").each(function(){}),遍歷每一個class屬性值為lxftime的元素。
(3).var lxfday=$(this).attr("lxfday"),是否顯示倒數計時的天。
(4).var endtime = new Date($(this).attr("endtime")).getTime(),獲取結束時間的時間戳。
(5).var nowtime = new Date().getTime(),獲取當前時間的時間戳。
(6).var youtime = endtime-nowtime,結束時間和當前時間的時間戳差距。
(7).var seconds = youtime/1000,獲取相差的秒數。
(8).var minutes = Math.floor(seconds/60),獲取相差的分鐘數。
(9).var hours = Math.floor(minutes/60),獲取相差的小時數。
(10).var days = Math.floor(hours/24),獲取相差的天數。
(11).var CDay= days,將相差的天數賦值給變數。
(12).var CHour= hours % 24,相差的小時數。
(13).var CMinute= minutes % 60,相差的分鐘數。
(14).var CSecond= Math.floor(seconds%60),相差的秒數。
(15).if(endtime<=nowtime){
$(this).html("已過期")
//如果結束日期小於當前日期就提示過期啦
},如果當前時間大於結束時間,那麼就給出提示。
二.相關閱讀:
(1).each()方法可以參閱jQuery each()一章節。
(2).attr()方法可以參閱jQuery attr()一章節。
(3).getTime()方法可以參閱javascript getTime()一章節。
(4).Math.floor()方法可以參閱javascript Math.floor()一章節。
(5).setTimeout()方法可以參閱setTimeout()一章節。
相關文章
- 商品搶購倒數計時效果程式碼例項
- JavaScript倒數計時程式碼例項JavaScript
- jQuery 倒數計時效果詳解jQuery
- 網頁倒數計時跳轉程式碼例項網頁
- jQuery tab選項卡效果程式碼例項jQuery
- jQuery點選滑出層效果程式碼例項jQuery
- Axure之倒數計時效果
- 獲取倒數第幾個元素程式碼例項
- jquery 60s倒數計時jQuery
- jQuery記住使用者名稱和密碼效果程式碼例項jQuery密碼
- jQuery.map()方法程式碼例項jQuery
- jquery實現60秒倒數計時jQuery
- JavaScript 倒數計時60秒程式碼JavaScript
- 倒數計時(Excel程式碼集團)Excel
- canvas載入效果程式碼例項Canvas
- CSS橢圓效果程式碼例項CSS
- jQuery利用name匹配元素程式碼例項jQuery
- js自動倒數計時程式碼,倒數計時完畢時自動停止迴圈JS
- 小程式 - 驗證碼倒數計時元件元件
- 美化滾動條效果程式碼例項
- canvas原型鐘錶效果程式碼例項Canvas原型
- css3水滴效果程式碼例項CSSS3
- css背景虛化效果程式碼例項CSS
- canvas氣泡上浮效果程式碼例項Canvas
- jquery.idTabs.min.js選項卡程式碼例項jQueryJS
- jQuery table表格隔行換色程式碼例項jQuery
- jQuery精確到毫秒倒數計時詳解jQuery
- Jquery 實現頁面倒數計時的功能jQuery
- 小程式倒數計時深究
- 直播電商原始碼,商品出售倒數計時的定時器效果原始碼定時器
- css3晃動效果程式碼例項CSSS3
- CSS3心形效果程式碼例項CSSS3
- div前後翻轉效果程式碼例項
- 當前文字框高亮效果程式碼例項
- CSS3旋轉效果程式碼例項CSSS3
- 淡入淡出效果簡單程式碼例項
- canvas繪製箭頭效果程式碼例項Canvas
- Js Jquery 實現的按鈕倒數計時整理JSjQuery
- jQuery遍歷array陣列元素程式碼例項jQuery陣列