倒计时 妙味课堂_基于jQuery的倒计时实现代码

昨天看了妙味课堂的倒计时视频,自己学着写了下,需要的朋友可以参考下

在线演示:http://demo.jb51.net/js/2012/mydaojishi/

打包下载:mydaojishi_jb51

核心代码:

$(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

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)  可以根据传入的参数,自动在传入的数字前加零

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值