zl程序教程

您现在的位置是:首页 >  前端

当前栏目

基于jQuery的倒计时插件代码

jQuery插件代码 基于 倒计时
2023-06-13 09:14:28 时间
剩余时间:1小时:40分:30秒
复制代码代码如下:

1/*
*倒计时插件,主要用来限时购买
*Bywayshan版本1.0
*使用方法:
*$(function(){
*$("#ElementId").countdown({
*Edate:"2012-12-2115:14:23"
*});
*})

*/
;(function($){
$.fn.countdown=function(options){
if(this.length==0){
returnfalse;
}
returnthis.each(function(){
varDefault={
Sdate:null,//开始时间(格式为“2010-10-1010:10:10”)可以设置为服务端的时间
Edate:null,//结束日期(格式为“2010-10-1010:10:10”)
callback:function(){
returnfalse;
}
},
_H_Text="小时",
_M_Text="分",
_S_Text="秒",
_lT=null,
_cT=newDate(),
_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-0101:01:01
varreg=/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})(\d{1,2}):(\d{1,2}):(\d{1,2})$/;
varr=str.match(reg);
if(r==null)returnfalse;
vard=newDate(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]);
}
vars=$.extend({},Default,options||{});
DomId=this.id;
if(DomId=="null"){
return;
}
_eT=s.Edate;
if(!strDateTime(_eT)){
alert("结束日期格式不正确");
returnfalse;
}
if(s.Sdate!=null){
_cT=s.Sdate;
}
_cT=_cT.toString();
cdate=_cT.replace(/-/g,"/");
_eT=_eT.toString();
edate=_eT.replace(/-/g,"/");
ctime=newDate(cdate);
etime=newDate(edate);
_timeout=setInterval(_gt,1000)
});
}
})(jQuery);