我是javascript的新手,我需要让这个功能倒计时到特定时间。当前代码倒计时到一天的开始,我需要再添加几个小时。我怎么会这样做?
<script>
//cd counter//
var current = "<b class='cdb'> 0д.</b> : <b class='cdb'> 0ч.</b> : <b class='cdb'> 0м.</b> : <b class='cdb'> 00с.</b><br />";
var montharray = new Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec");
function countdown(yr,m,d){
theyear=yr;themonth=m;theday=d
var today=new Date();
var todayy=today.getYear();
if (todayy < 1000)
todayy+=1900
var todaym=today.getMonth()
var todayd=today.getDate()
var todayh=today.getHours()
var todaymin=today.getMinutes()
var todaysec=today.getSeconds()
var todaystring=montharray[todaym]+" "+todayd+", "+todayy+" "+todayh+":"+todaymin+":"+todaysec
futurestring=montharray[m-1]+" "+d+", "+yr
dd=Date.parse(futurestring)-Date.parse(todaystring)
dday=Math.floor(dd/(60*60*1000*24)*1)
dhour=Math.floor((dd%(60*60*1000*24))/(60*60*1000)*1)
dmin=Math.floor(((dd%(60*60*1000*24))%(60*60*1000))/(60*1000)*1)
dsec=Math.floor((((dd%(60*60*1000*24))%(60*60*1000))%(60*1000))/1000*1)
if(dday<0&&dhour<0&&dmin<0&&dsec<1){
document.getElementById('count2').innerHTML = current;
return
} else
document.getElementById('count2').innerHTML = "<b class='cdb'>"+dday+"д.</b> : <b class='cdb'>"+dhour+"ч.</b> : <b class='cdb'>"+dmin+"м.</b> : <b class='cdb'>"+dsec+"с.</b><br />";
setTimeout("countdown(theyear,themonth,theday)",1000)
}
countdown(2013,11,8);
</script>
答案 0 :(得分:0)
快速而肮脏的方法是将您想要的小时数添加到您的dhour变量中。
dhour=Math.floor((dd%(60*60*1000*24))/(60*60*1000)*1) + numHours
更有效的方法是将所有相同的信息添加到您的期货字符串中:
futurestring=montharray[m-1]+" "+d+", "+yr+" "+hour+":"+min+":"+sec
当然,您需要设置hour
,min
和sec
。