手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >基于jQuery的倒计时插件代码
基于jQuery的倒计时插件代码
摘要:剩余时间:1小时:40分:30秒复制代码代码如下:1/**倒计时插件,主要用来限时购买*Bywayshan版本1.0*使用方法:*$(fun...

剩余时间:1小时:40分:30秒

复制代码 代码如下:

1 /*

* 倒计时插件,主要用来限时购买

* By wayshan 版本1.0

* 使用方法:

* $(function(){

* $("#ElementId").countdown({

* Edate:"2012-12-21 15:14:23"

* });

* })

*/

;(function($){

$.fn.countdown = function(options){

if (this.length == 0){

return false;

}

return this.each(function(){

var Default = {

Sdate:null,//开始时间(格式为“2010-10-10 10:10:10”)可以设置为服务端的时间

Edate:null,//结束日期(格式为“2010-10-10 10:10:10”)

callback:function(){

return false;

}

},

_H_Text='小时',

_M_Text='分',

_S_Text='秒',

_lT = null,

_cT = new Date(),

_eT = null,

_elT = null,

ctime = null,

etime = null,

DomId = null,

_timeout = null,

_gt = function(){

if (_lT == null) {

_elT = (etime - ctime);

if (_elT < 0){

$('#'+DomId).html("<strong>0</strong>"+_H_Text+":<strong>0</strong>"+

_M_Text+":<strong>0</strong>"+_S_Text);

}

var _xT =Math.ceil(_elT/(24*60*60*1000));

_cT = parseInt(_cT.match(/s(d+)D/)[1] * 3600)

+ parseInt(_cT.split(":")[1] * 60)+ parseInt(_cT.split(":")[2]);

_eT = _xT * 24 * 3600 + parseInt(_eT.match(/s(d+)D/)[1] * 3600)

+ parseInt(_eT.split(":")[1] * 60) + parseInt(_eT.split(":")[2]);

_lT = _elT/1000;

}

if (_elT > 0) {

if (_lT >= 0) {

var _H = Math.floor(_lT / 3600);

var _M = Math.floor((_lT - _H * 3600) / 60);

var _S = (_lT - _H * 3600) % 60;

$('#'+DomId).html("<strong>" + _H + "</strong>"+_H_Text+":<strong>"

+ _M + "</strong>"+_M_Text+":<strong>" + _S + "</strong>"+_S_Text);

_lT--;

} else {

clearInterval(_timeout);

if(s.callback && $.isFunction(s.callback)){

s.callback.call(this);

}

}

} else {

clearInterval(_timeout);

if(s.callback && $.isFunction(s.callback)){

s.callback.call(this);

}

}

},

strDateTime = function(str){

//判断日期时间的输入是否正确,类型必须形如为:2011-01-01 01:01:01

var reg = /^(d{1,4})(-|/)(d{1,2})2(d{1,2}) (d{1,2}):(d{1,2}):(d{1,2})$/;

var r = str.match(reg);

if(r==null)return false;

var d= new Date(r[1], r[3]-1,r[4],r[5],r[6],r[7]);

return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]

&&d.getHours()==r[5]&&d.getMinutes()==r[6]&&d.getSeconds()==r[7]);

}

var s = $.extend({}, Default, options || {});

DomId = this.id;

if (DomId == 'null'){

return;

}

_eT = s.Edate;

if (!strDateTime(_eT)){

alert('结束日期格式不正确');

return false;

}

if (s.Sdate != null){

_cT = s.Sdate;

}

_cT = _cT.toString();

cdate = _cT.replace(/-/g, '/');

_eT = _eT.toString();

edate = _eT.replace(/-/g, '/');

ctime = new Date(cdate);

etime = new Date(edate);

_timeout = setInterval(_gt, 1000)

});

}

})(jQuery);

【基于jQuery的倒计时插件代码】相关文章:

光标定位等TextRange的操作的范例代码

jquery使用经验小结

jQuery封装的tab选项卡插件分享

解析Node.js基于模块和包的代码部署方式

jQuery实现给页面换肤的方法

jQuery插件bgStretcher.js实现全屏背景特效

jQuery使用zTree插件实现树形菜单和异步加载

10条建议帮助你创建更好的jQuery插件

强制设为首页代码

分享十五款 jQuery 社交网络分享插件

精品推荐
分类导航