jQuery 倒數計時效果詳解
倒數計時效果有著廣泛的應用,比如奧運會倒數計時、高考倒數計時和放假倒數計時等。
本章節分享一個比較美觀且實用的倒數計時效果。
程式碼例項如下:
[HTML] 純文字檢視 複製程式碼執行程式碼<!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 { width:250px; height:30px; overflow:hidden; color:#000000; background:url(mytest/jQuery/colockbg.png) no-repeat; margin:0px auto; } .colockbox span { float:left; display:block; width:40px; height:29px; line-height:29px; font-size:20px; font-weight:bold; text-align:center; color:#ffffff; margin-right:22px; } </style> <script src="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script> <script type="text/javascript"> $(function(){ countDown("2019/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>
一.程式碼註釋:
(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的執行。
二.相關閱讀:
(1).find()函式可以參閱jQuery find()方法一章節。
(2).Date()建構函式可以參閱JavaScript Date()建構函式引數一章節。
(3).getTime()函式可以參閱JavaScript getTime()一章節。
(4).Math.floor()函式可以參閱JavaScript Math.floor()一章節。
(5).setInterval()函式可以參閱setInterval()用法一章節。
(6).clearInterval()函式可以參閱clearInterval()方法一章節。
相關文章
- jQuery精確到毫秒倒數計時詳解jQuery
- Axure之倒數計時效果
- jquery 60s倒數計時jQuery
- js 活動倒數計時詳解JS
- jquery實現60秒倒數計時jQuery
- JavaScript倒數計時隱藏廣告詳解JavaScript
- Jquery 實現頁面倒數計時的功能jQuery
- jQuery彈幕效果詳解jQuery
- jQuery 放大鏡效果詳解jQuery
- Js Jquery 實現的按鈕倒數計時整理JSjQuery
- 商品搶購倒數計時效果程式碼例項
- 倒數計時
- jQuery表單驗證效果詳解jQuery
- jQuery滑鼠懸浮翻牌效果詳解jQuery
- jQuery滑鼠懸浮聚焦效果詳解jQuery
- jQuery實進度條效果詳解jQuery
- jQuery星級評分效果詳解jQuery
- jQuery表格隔行變色效果詳解jQuery
- JavaScript倒數計時JavaScript
- 商城倒數計時
- jQuery 圖片垂直切換效果詳解jQuery
- 直播電商原始碼,商品出售倒數計時的定時器效果原始碼定時器
- 倒數計時34天
- 倒數計時2天!
- 倒數計時1天
- 倒數計時2天
- CSS3動畫實現3D倒數計時效果CSSS3動畫3D
- 直播系統平臺搭建,大屏倒數計時動畫效果動畫
- 倒數計時(天、時、分、秒)
- 文字框文字輸入數量倒計效果
- 動畫合成小技巧!CSS 實現動感的倒數計時效果動畫CSS
- canvas環形倒數計時Canvas
- 用 bash 倒數計時日期
- Android中handler倒數計時Android
- CountDownTimer使用——android倒數計時Android
- 小程式倒數計時深究
- 點選button倒數計時
- laravel 9 倒數計時了Laravel