欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

基于jQuery的倒计时实现代码

程序员文章站 2022-06-20 23:45:44
核心代码如下: $(function(){ var tyear = ""; //输入的年份 var tmonth = ""; //输入的月份 var tdat...

核心代码如下:

$(function(){
var tyear = ""; //输入的年份
var tmonth = ""; //输入的月份
var tdate = ""; //输入的日期
var iremain = ""; //开始和结束之间相差的毫秒数
var sdate = ""; //倒计的天数
var shour = ""; //倒计时的小时
var smin = ""; //倒计时的分钟
var ssec = ""; //倒计时的秒数
var smsec = ""; //毫秒数
//通用工具函数,在个位数上加零,根据传的n的参数,来设前面加几个零
function setdig(num,n){
var str = ""+num;
while(str.length<n){
str="0"+str
}
return str;
}
//获得相差的天,小时,分钟,秒
function getdate(){
//创建开始时间和结束时间的日期对象
var ostartdate = new date();
var oenddate = new date();
//获取文本框的值
tyear = $("#tyear").val();
tmonth = $("#tmonth").val();
tdate = $("#tdate").val();
//设置结束时间
oenddate.setfullyear(parseint(tyear));
oenddate.setmonth(parseint(tmonth)-1);
oenddate.setdate(parseint(tdate));
oenddate.sethours(0);
oenddate.setminutes(0);
oenddate.setseconds(0);
//求出开始和结束时间的秒数(除以1000)
iremain = (oenddate.gettime() - ostartdate.gettime())/1000;
//总的秒数除以一天的秒数,再取出整数部分,就得出有多少天。
sdate = setdig(parseint(iremain/(60*60*24)),3);
//总的秒数除以一天的秒数,然后取其中的余数,就是把整数天扣除之后,剩下的总秒数。
iremain %= 60*60*24;
//剩下的总秒数除以一个小时的秒数,再取整数部分,就是有多少小时。
shour = setdig(parseint(iremain/(60*60)),2)
//剩下的总秒数除以一个小时的秒数,再取其余数,这个余数,就是扣除小时这后,剩下的总秒数。
iremain %= 60*60;
//剩下的总秒数除以一分钟的秒数,再取其整数部分,就是有多少分钟。
smin = setdig(parseint(iremain/60),2)
//剩下的总秒数除以一分钟的秒数,再取其余数,这个余数,就是扣除分钟之后,剩下的总秒数。
iremain%=60;
//剩下的秒数
ssec = setdig(iremain,2);
//毫秒数
smsec = ssec*100;
}
//更改显示的时间
function updateshow(){
$(".showdate span").text(tyear+"-"+tmonth+"-"+tdate);
$(".count span").each(function(index, element) {
if(index==0){
$(this).text(sdate);
}else if(index==1){
$(this).text(shour);
}else if(index == 2){
$(this).text(smin);
}else if(index == 3){
$(this).text(ssec);
}else if(index == 4){
$(this).text(smsec);
}
});
}
//每一秒执行一次时间更新
function autotime(){
getdate();
//如果小于零,清除调用自己,并且返回
if(iremain<0){
cleartimeout(sett);
return;
}
updateshow();
var sett = settimeout(autotime,1000);
}
//点击按钮开始计时
$("button").click(function(){
autotime();
})
})


记录需要注意的地方:

1.取模运算:

  iremain %= 60*60*24;
就是返回余数,在这个实例中的余数,就是把整数拿走后,剩下的秒数。

2.工具函数 setdig(num,n)  可以根据传入的参数,自动在传入的数字前加零