基于这里的版本修改,感谢原作者
http://www.iteye.com/topic/785609
改成了 hh:mm:ss 形式的倒计时
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<script type="text/javascript" src="jquery-1.4.2.js"></script>
</head>
<body>
<div class="t"></div>
</body>
</html>
<script type="text/javascript">
$(function(){
$.fn.countDown = function(settings,hh,mm,ss) {
if(typeof ss=='undefined') { hh = settings.hh;mm = settings.mm;ss = settings.ss; }
this.data("CR_currentTime_hh",hh);
this.data("CR_currentTime_mm",mm);
this.data("CR_currentTime_ss",ss);
var to=(hh<10?'0'+hh:hh)+":"+(mm<10?'0'+mm:mm)+":"+(ss<10?'0'+ss:ss);
if(ss==0&&(mm>0||hh>0)){
if(mm>0){
mm-=1;
}else if(mm==0&&hh>0){
hh-=1;
mm+=59;
}
ss+=60;
}
$(this).text(to).animate({"none":"none"},settings.duration,'',function() {
if(hh!=0||mm!=0||ss!=0) {
$(this).countDown(settings,hh,mm,ss- 1);
}else{
settings.callBack(this);
}
});
return this;
};
$.fn.CRcountDown = function(settings) {
settings = jQuery.extend({
hh:0,
mm:0,
ss:0,
startNumber: 10,
endNumber: 0,
duration: 1000,
callBack: function() { }
}, settings);
this.data("CR_hh",settings.hh);
this.data("CR_mm",settings.mm);
this.data("CR_ss",settings.ss);
this.data("CR_duration",settings.duration);
this.data("CR_callBack",settings.callBack);
return this.stop().countDown(settings);
};
$.fn.pause = function(settings) {
return this.stop();
};
$.fn.reStart = function() {
return this.pause().CRcountDown({
hh : this.data("CR_currentTime_hh"),
mm : this.data("CR_currentTime_mm"),
ss : this.data("CR_currentTime_ss"),
duration : this.data("CR_duration"),
callBack : this.data("CR_callBack")
});
};
})
$(function (){
$(".t").CRcountDown({mm:1,ss:10,callBack:function(){
alert("time over");
}});
});
</script>