亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

基于jquery插件編寫countdown計時器

2019-11-20 09:44:02
字體:
來源:轉載
供稿:網友

廢話不多說,直接上代碼:
先展示一下插件調用方式: 

1. 需要先加載countdown插件對應的css文件,也就幾行代碼而已,可以不用引入,自己手寫一樣啦 

<head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" /> <title>jquery countdown倒計時插件</title> <link rel="stylesheet" type="text/css" href="css/jquery.countdown-1.0.0.css"/> </head> 

css代碼內容:

 * { margin: 0; padding: 0; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -ms-box-sizing: border-box; -o-box-sizing: border-box; box-sizing: border-box; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;}html,body { font: 24px/1.5 'Microsoft YaHei', arial, tahoma, '/5b8b/4f53', sans-serif; font-weight: 700; background: #efefef; -webkit-text-size-adjust: 100%; text-size-adjust: 100%;}#countdown { width: 60%; margin: 20% auto; color: #ff4d4d;}.countdown-day,.countdown-hour,.countdown-minute,.countdown-second { display: inline-block; margin: 0 .5rem; background: #ff3f0f; font-size: 2rem; font-weight: 700; color: #fff;} 

2.再加載js文件,在此之前得先引入jquery
<script type="text/javascript" src="js/jquery-2.2.4.min.js"></script>
<script type="text/javascript" src="js/jquery.countdown-1.0.0.min.js"></script>
3.然后定義一個顯示時間的元素,初始化配置后就可以看到計時啦

<body> <div id="countdown"></div> <script type="text/javascript" src="js/jquery-2.2.4.min.js"></script> <script type="text/javascript" src="js/jquery.countdown-1.0.0.min.js"></script> <script> $('#countdown').countdown({ //活動開始時間 (可采用時間戳 或者 標準日期時間格式 "yyyy/MM/dd HH:mm:ss") //優先采取元素的data-stime值(該值只能為時間戳格式) startTime: '2016/6/11 17:54:00',//活動結束時間 (可采用時間戳 或者 標準日期時間格式 "yyyy/MM/dd HH:mm:ss") //優先采取元素的data-etime值(該值只能為時間戳格式)    endTime: '2016/6/11 17:55:00', //活動開始前倒計時的修飾 //可自定義元素,例如"<span>距離活動開始倒計時還有:</span>"    beforeStart: '距離活動開始倒計時還有:', //活動進行中倒計時的修飾  //可自定義元素,例如"<span>距離活動截止還有:</span>"  beforeEnd: '距離活動截止還有:', //活動結束后的修飾 //可自定義元素,例如"<span>活動已結束</span>"     afterEnd: '親,活動結束啦,請繼續關注哦!', //時間格式化(可采用"ddd:hh:mm:ss、 dd:hh:mm:ss、 hh:mm:ss、 mm:ss、 ss"等)      format: 'dd:hh:mm:ss', //活動結束后的回調函數      callback: function() {  console.log('親,活動結束啦,請繼續關注哦!'); } }); </script> </body> 

然后附上countdown插件的源代碼,大神們看了不要見笑哈...

/** * 簡單的jquery購物商城秒殺倒計時插件 * @date 2016-06-11 * @author TangShiwei * @email 591468061@qq.com */;(function(factory) { "use strict"; // AMD RequireJS if (typeof define === "function" && define.amd) {  define(["jquery"], factory); } else {  factory(jQuery); } })(function($) { "use strict"; $.fn.extend({  countdown: function(options) {  if (options && typeof(options) !== 'object') {  return false;  }  //默認配置  var defaults = {  //活動開始時間 (可采用時間戳 或者 標準日期時間格式 "yyyy/MM/dd HH:mm:ss")  //優先采取元素的data-stime值(該值只能為時間戳格式)  startTime: '2016/6/11 21:00:00',  //活動結束時間 (可采用時間戳 或者 標準日期時間格式 "yyyy/MM/dd HH:mm:ss")  //優先采取元素的data-etime值(該值只能為時間戳格式)     endTime: '2016/6/11 24:00:00',  //活動開始前倒計時的修飾  //可自定義元素,例如"<span>距離活動開始倒計時還有:</span>"     beforeStart: '距離活動開始倒計時還有:',  //活動進行中倒計時的修飾   //可自定義元素,例如"<span>距離活動截止還有:</span>"   beforeEnd: '距離活動截止還有:',  //活動結束后的修飾  //可自定義元素,例如"<span>活動已結束</span>"      afterEnd: '活動已結束',  //時間格式化(可采用"ddd:hh:mm:ss、 dd:hh:mm:ss、 hh:mm:ss、 mm:ss、 ss"等)       format: 'dd:hh:mm:ss',  //活動結束后的回調函數       callback: function() {       return false;  }  };  //根據時間格式渲染對應結構  var strategies = {  "4": function($this, timeArr, desc) {  return $this.html(desc + '<span class="countdown-day">' + timeArr[0] + '</span>天' +  '<span class="countdown-hour">' + timeArr[1] + '</span>時' + '<span class="countdown-minute">' + timeArr[2] + '</span>分' + '<span class="countdown-second">' + timeArr[3] + '</span>秒');  },  "3": function($this, timeArr, desc) {  return $this.html(desc + '<span class="countdown-hour">' + timeArr[0] + '</span>時' + '<span class="countdown-minute">' + timeArr[1] + '</span>分' + '<span class="countdown-second">' + timeArr[2] + '</span>秒');  },  "2": function($this, timeArr, desc) {  return $this.html(desc + '<span class="countdown-minute">' + timeArr[0] + '</span>分' + '<span class="countdown-second">' + timeArr[1] + '</span>秒');  },  "1": function($this, timeArr, desc) {  return $this.html(desc + '<span class="countdown-second">' + timeArr[0] + '</span>秒');  }  };  /**  * [killTime 時間差換算并進行格式化操作]  * @param {[Object]} _this_ [jquery對象]  * @param {[Number]} sTime [當前時間]  * @param {[Number]} eTime [結束時間]  * @param {[String]} desc [時間修飾]  * @param {[String]} format [時間格式]  * @return {[Function]} strategies [根據格式渲染對應結構]  */  var killTime = function(_this_, sTime, eTime, desc, format) {  var diffSec = (eTime - sTime) / 1000;  var map = {  h: Math.floor(diffSec / (60 * 60)) % 24,  m: Math.floor(diffSec / 60) % 60,  s: Math.floor(diffSec % 60)  };  var format = format.replace(/([dhms])+/g, function(match, subExp) {  var subExpVal = map[subExp];  if (subExpVal !== undefined) {   if (match.length > 1) {   subExpVal = '0' + subExpVal;   subExpVal = subExpVal.substr(subExpVal.length - match.length);   return subExpVal;   }  } else if (subExp === 'd') {   if (match.length >= 1 && match.length < 4) {   map[subExp] = Math.floor(diffSec / (60 * 60 * 24));   var d = '00' + map[subExp];   return d.substr(d.length - match.length);   }  }  return match;  });  //將時間格式通過":"符號進行分組  var timeArr = String.prototype.split.call(format, ':');  /**  * [render 通過分組情況渲染對應結構]  * @param {[Object]} _this_ [jquery對象]  * @param {[Number]} timeArrLen [時間分組后的數組長度]  * @param {[Array]} timeArr [時間分組后的數組]  * @param {[String]} desc [時間修飾]  * @return {[Function]} strategies [根據數組長度渲染對應結構]  */  var render = function(_this_, timeArrLen, timeArr, desc) {  return strategies[timeArrLen](_this_, timeArr, desc);  };  render(_this_, timeArr.length, timeArr, desc);  }  //覆蓋默認配置  var opts = $.extend({}, defaults, options);  return this.each(function() {  var $this = $(this);  var _timer = null;  //優先采取元素的data-stime值(該值只能為時間戳格式)  var sTime = $this.data('stime') ? parseInt($this.data('stime'), 10) : (new Date(opts.startTime)).getTime();  //優先采取元素的data-etime值(該值只能為時間戳格式)  var eTime = $this.data('etime') ? parseInt($this.data('etime'), 10) : (new Date(opts.endTime)).getTime();  if (_timer) {  clearInterval(_timer);  }  _timer = setInterval(function() {  var nowTime = (new Date()).getTime();  if (nowTime < sTime) {   //活動暫未開始   killTime($this, nowTime, sTime, opts.beforeStart, opts.format);  } else if (nowTime >= sTime && nowTime <= eTime) {   //活動進行中   killTime($this, nowTime, eTime, opts.beforeEnd, opts.format);  } else {   //活動已結束   clearInterval(_timer);   $this.html(opts.afterEnd);   if (opts.callback && $.isFunction(opts.callback)) {   opts.callback.call($this);   }  }  }, 1000);  });  } }); });

 然后再來幾個效果圖吧:

精彩專題分享:js實現倒計時功能匯總

以上就是本文的全部內容,希望對大家學習jQuery有所幫助

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品ⅴa在线观看h| 亚洲视频在线看| 色婷婷**av毛片一区| 国内精品久久久久久中文字幕| 国产精品av电影| 在线精品播放av| 日韩av免费网站| 精品国产一区久久久| 538国产精品一区二区在线| 亚洲毛片在线免费观看| 欧美性高潮在线| 欧美精品在线第一页| 精品久久久久久久久久久久久| 国产亚洲精品久久久久久777| 成人欧美一区二区三区黑人| 日韩精品高清在线| 国产精品狠色婷| 国产美女精彩久久| 韩国精品美女www爽爽爽视频| 久久人人爽人人爽人人片亚洲| 欧美日韩精品在线观看| 日韩av在线免费播放| 欧美大片免费观看在线观看网站推荐| 国产精品极品美女粉嫩高清在线| 欧美激情极品视频| 91爱视频在线| 97久久精品视频| 91丨九色丨国产在线| 欧美大尺度激情区在线播放| 亚洲人成免费电影| 日韩欧美有码在线| 日韩电影免费在线观看中文字幕| 精品久久久精品| 最近2019免费中文字幕视频三| 亚洲国产欧美在线成人app| 中文字幕欧美亚洲| 久久成人一区二区| 亚洲视频网站在线观看| 国内精品一区二区三区四区| 亚洲综合在线做性| 精品偷拍各种wc美女嘘嘘| 成人亲热视频网站| 欧美日本国产在线| 亚洲图片在区色| 久久久久久欧美| 韩国福利视频一区| 色99之美女主播在线视频| 亚洲成人精品视频| 国产精品ⅴa在线观看h| 在线不卡国产精品| 亚洲精品久久久久| 国产国语videosex另类| 欧美久久精品午夜青青大伊人| 欧美精品videosex牲欧美| 日本一区二区不卡| 国产mv免费观看入口亚洲| 成人啪啪免费看| 欧美另类99xxxxx| 成人激情春色网| 性色av一区二区咪爱| 日韩av中文字幕在线| 91久久嫩草影院一区二区| 中文字幕亚洲一区二区三区五十路| 91精品国产乱码久久久久久久久| 国产精品88a∨| 欧美高清在线视频观看不卡| 欧美国产在线视频| 亚洲激情电影中文字幕| 欧美午夜片在线免费观看| 国产亚洲精品美女久久久久| 国产午夜精品视频免费不卡69堂| 亚洲电影av在线| 国产免费一区视频观看免费| 国产精品免费在线免费| 97久久精品人搡人人玩| 欧美一区二区.| 成人精品一区二区三区电影黑人| 国外色69视频在线观看| 欧美巨猛xxxx猛交黑人97人| 成人免费福利视频| 亚洲精品日韩激情在线电影| 九色91av视频| 欧美激情按摩在线| 中文字幕精品av| 日韩一区二区在线视频| 日本aⅴ大伊香蕉精品视频| 精品久久久久久中文字幕| 久久久久久av| 久久免费视频观看| 国产一区二区日韩精品欧美精品| 91影院在线免费观看视频| 97国产suv精品一区二区62| 庆余年2免费日韩剧观看大牛| 国产福利精品视频| 92看片淫黄大片看国产片| 欧美精品在线免费播放| 不卡在线观看电视剧完整版| 久久久免费观看视频| 亚洲一区二区三区xxx视频| 亚洲大胆人体视频| 国产男女猛烈无遮挡91| 在线播放国产精品| 91精品视频在线免费观看| 欧美激情精品在线| 国产精品影片在线观看| 欧美成人一二三| 2019av中文字幕| 国产精品视频最多的网站| 91免费的视频在线播放| 欧美第一黄网免费网站| 日本aⅴ大伊香蕉精品视频| 久久九九免费视频| 91久久精品国产91久久| 欧日韩不卡在线视频| 国产午夜精品全部视频播放| 伊人伊成久久人综合网小说| 91在线视频九色| 97国产精品视频人人做人人爱| 在线看日韩av| 57pao成人国产永久免费| 国产精品美女免费视频| 黑人巨大精品欧美一区二区| 亚洲国产精品小视频| 国内精品久久久久影院 日本资源| 欧美另类在线播放| www日韩欧美| 欧美丰满老妇厨房牲生活| 91在线直播亚洲| 国产精品久久久久久久久| 国产精品国模在线| 亚洲一级免费视频| 日韩美女在线观看| 亚洲国产精品视频在线观看| 久久久国产精品视频| 91免费精品国偷自产在线| 青青草原一区二区| 97精品国产aⅴ7777| 成人国产精品一区| 欧美性猛交xxxx黑人猛交| 亚洲一区二区三区四区视频| 中文字幕av一区| 欧美性生交xxxxxdddd| 亚洲精品综合久久中文字幕| 欧美午夜视频在线观看| 久久久久久久久久久久av| 日本乱人伦a精品| 精品色蜜蜜精品视频在线观看| 26uuu亚洲国产精品| 国内精品模特av私拍在线观看| 日本精品久久电影| 欧美老女人性视频| 欧美丰满少妇xxxxx做受| 日韩人在线观看| 亚洲欧美一区二区精品久久久| 另类专区欧美制服同性| 亚洲免费电影一区| 国产精品久久久久久婷婷天堂| 亚洲电影免费观看高清完整版在线| 亚洲美女av在线播放| 日韩有码视频在线| 亚洲国产成人精品电影| 欧美性视频精品| 欧美在线xxx| 欧美视频第一页|