0

我对 javascript 很陌生,我需要让这个函数倒计时到一个特定的小时。当前代码倒计时到一天的开始,我需要再增加几个小时。我要怎么做?

<script>
//cd counter//
var current = "<b class='cdb'>&nbsp;0д.</b> : <b class='cdb'>&nbsp;0ч.</b> : <b class='cdb'>&nbsp;0м.</b> : <b class='cdb'>&nbsp;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>
4

1 回答 1

0

快速而肮脏的方法是将您想要的小时数添加到您的 dhour 变量中。

dhour=Math.floor((dd%(60*60*1000*24))/(60*60*1000)*1) + numHours

一种更强大的方法是将所有相同的信息添加到您的 futurestring 中:

futurestring=montharray[m-1]+" "+d+", "+yr+" "+hour+":"+min+":"+sec

当然,那么您需要设置hourminsec

于 2013-10-27T14:46:55.440 回答