倒計時一般是用來表示未來某一時刻距現在時刻還剩多少時間。倒計時在WEB上應用非常廣泛,如考試系統倒計時,團購網站中的優惠活動倒計時等等。今天,我們來使用jQuery倒計時超級實現團購秒殺效果,感興趣的朋友一起學習吧!
1.1 幫助文檔關鍵字
倒計時 秒殺 timer
1.2. 使用場景
這樣的倒計時在購物網站中會經常使用到,比如秒殺,限時搶購,確認收貨倒計時。
這個功能并不難實現,就是利用js的定時執行,搜了一下網上的代碼,五花八門,都是一個方法,沒有做到封裝,方便使用,所以寫了一個插件,方便項目中使用。
1.4. 使用說明
開始使用
1、 引入oao.timer.js
2、 要顯示倒計時時間的div
<div id="timer1" end-date="2016-1-1"></div> <div id="timer2" end-date="2015/10/1 12:5:2"></div>Code:
3、 初始化倒計時
$(function(){//文檔加載完初始化倒計時 $("#timer1").oaoTime(); $("#timer2").oaoTime(); })
這樣就可以使用了,很簡單,這樣便于項目開發中統一使用,統一修改。
1.5. 上代碼
//倒計時的插件$.fn.extend({oaoTime:function(){this.each(function() { var dateStr = $(this).attr("end-date"); var endDate = new Date(dateStr.replace(/-/g,"/"));//取得指定時間的總毫秒數 //now是在動態頁面中取得服務器的時間,如果沒有定義使用客戶端時間 if(now==undefined){ now = new Date().getTime(); } var tms = endDate - now;//得到時間差 if(tms<0){alert("時間過期了");return;}$.oaoTime.timers.push({tms:tms,content:$(this)});$.oaoTime.start();});}});//倒計時的插件$.oaoTime={//倒計時容器,所有需要倒計時的時間都需要注冊到這個容器中,容器中放的是一個object,object描述了倒計時的結束時間,以及顯示時間的jquery對象(例如div)timers:[],//全局的一個倒計時狀態,init表示初始化狀態,start表示運行中狀態,stop表示停止狀態status:'init',//計算時間并定時刷新時間的方法,本插件的核心代碼takeCount:function(){//如果定時器沒有啟動不執行if(this.status != 'start')return;setTimeout("$.oaoTime.takeCount()", 1000 );var timers = this.timers;for (var i = 0, j = timers.length; i < j; i++) {//計數減一timers[i].tms -= 1000;//console.info(timers[i].tms);//計算時分秒var days = Math.floor(timers[i].tms / (1000 * 60 * 60 * 24));var hours = Math.floor(timers[i].tms / (1000 * 60 * 60)) % 24;var minutes = Math.floor(timers[i].tms / (1000 * 60)) % 60;var seconds = Math.floor(timers[i].tms / 1000) % 60;if (days < 0)days = 0;if (hours < 0)hours = 0;if (minutes < 0)minutes = 0;if (seconds < 0) seconds = 0;var newTimeText = days+"天"+hours+"小時"+minutes+"分"+seconds+"秒";timers[i].content.text(newTimeText);//console.info(newTimeText);}},//啟動倒計時start:function(){if(this.status=='init'){this.status = 'start';this.takeCount();}},//停止倒計時stop:function(){this.status = 'stop';}}; <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><title>無標題文檔</title><script type="text/javascript" src="js/jquery-1.9.1.min.js"></script><script type="text/javascript" src="js/oao.timer.js"></script></head><body><ul><div id="stop">停止</div><div id="timer1" end-date="2016-1-1"></div><div id="timer2" end-date="2015/10/1 12:5:2"></div></ul></body></html><script>$(function(){$("#stop").click(function() {$.oaoTime.stop();});$("#timer1").oaoTime();$("#timer2").oaoTime();})</script>
以上內容是小編給大家介紹的基于jQuery倒計時插件實現團購秒殺效果,希望對大家有所幫助!
新聞熱點
疑難解答