倒计时是网站最常见的应用,特别对于电子商城类网站,我们会经常可以看到网站首页挂着很多倒计时促销的商品。那么此类倒计时是如何实现的呢?一般来说,要了解倒计时首先要明白三个概念,第一是倒计某个数,第二个则是javascript日期对象,第三是定时器setInterval ,也是倒计时最重要的一部分。
倒计某个数:
<span id="number">10</span>
<script> var d=document, oSpan=d.getElementById("number") i=10; timer=setInterval(cut,1000);
function cut(){ if(i==0){ clearInterval(timer); } else{ i–; } oSpan.innerHTML=i; } </script>
|
倒计某个时间:
<div id="time"> <input type="hidden" value="23"/> <!–设置结束时间–> <input type="hidden" value="00"/> <input type="hidden" value="00"/> <span></span> 时 <span></span> 分 <span></span>秒 </div>
<script> function time(){ var d=document, oTime=d.getElementById("time"), aSpan=oTime.getElementsByTagName("span"), aInput=oTime.getElementsByTagName("input"), oDate=new Date(), nH=oDate.getHours(), nM=oDate.getMinutes(), nS=oDate.getSeconds(), eH=aInput[0].value, eM=aInput[1].value, eS=aInput[2].value;
var bTime=nH*3600+nM*60+nS, eTime=parseInt(eH*3600)+parseInt(eM*60)+parseInt(eS), Remain=eTime-bTime;
if(Remain==0){ clearInterval(timer); }
var rH=Remain/3600; Remain%=3600;
var rM=Remain/60; Remain%=60;
var rS=Remain;
aSpan[0].innerHTML=fillZero(parseInt(rH),2); aSpan[1].innerHTML=fillZero(parseInt(rM),2); aSpan[2].innerHTML=fillZero(parseInt(rS),2); }
timer=setInterval(time,1000);
function fillZero(str,n){ var str=str+""; while(str.length<n){ str="0"+str; } return str; }
time();
</script>
|
至此,倒计时开始了……