我是新手,想用javascript做一个24小时倒计时,感觉好乱,大神能给点意见吗包括这个程序还有jquery的学习
function countTime()
{ var h=24
m=60
s=60
m=checkTime(m)
s=checkTime(s)
t=setInterval(countTime1(),1000);
document.write.style.innerHtml=h+":"+m+":"+s
function countTime1()
{ s--;
if(s==0){m--;
if(m==0){h--;
if(h==0){document.write.style.innerHtml="活动已经结束";}
}
}
};
}
function checkTime(i){if(i<10){i="0"+i;};return i;
}
你的S变成0,m就减1,但是m减1后,你的s应该又变成60,而不是继续为0,道理跟m一样,而且check方法就会在刚开始执行一次,后面就不会执行到了
24小时循环倒计时,不要循环的话,你去掉函数中的递归调用就好,加载自动调用的话,就onload
<script type="text/javascript">
var time = 24*60*60*2; //倒计时两天的时间,自己设定
//输出信息
function begin(){
var today=new Date()
var day =today.getDate()
var dat=today.getMonth()
var future=day+2
document.getElementById('now').innerHTML="现在时间"+dat+"月"+day+"倒计时开始"
leasttime()
document.getElementById("future").innerHTML="预计结束时间"+dat+"月"+future
}
//时间倒计时函数
function leasttime(){
var ho=time/(60*60);
var mi=(time/60)%(60)
var se=time%60
mi=parseInt(mi)
ho=parseInt(ho)
ho=checkTime(ho)
se=checkTime(se)
mi=checkTime(mi)
time-=1;
document.getElementById("last").innerHTML=ho+":"+mi+":"+se
//倒计时结束
if(time==0){
// //重置计时器 ,再次开始计时
time=30;
begin()
}
setTimeout("leasttime()",1000);
}
//将时间的格式转化一下
function checkTime(i)
{
if (i<10)
{i="0" + i}
return i
}
</script>
<p id="now"></p>
<p id="last"></p>
<p id="future"></p>
<button onclick="begin()">开始</button>