2011-11-09 20 views
1

何百ものスレッドを検索しましたが、私の問題の解決策を見つけることができませんでした。カウントダウンが0になったら、新しいwebisteにリダイレクトされます。JavaScriptでカウントダウンとリダイレクトを実装する方法

これまでのコードは次のようになります。

<html> 

<script type="text/javascript"> 

var current="New webiste is here!" 

var year=2011;   
var month=11;   
var day=09;   
var hour=13;   
var minute=38;   
var tz=+1;   

var montharray=new Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"); 

function countdown(yr,m,d,hr,min){ 
    theyear=yr;themonth=m;theday=d;thehour=hr;theminute=min; 
    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 todaystring1=montharray[todaym]+" "+todayd+", "+todayy+" "+todayh+":"+todaymin+":"+todaysec; 
    var todaystring=Date.parse(todaystring1)+(tz*1000*60*60); 
    var futurestring1=(montharray[m-1]+" "+d+", "+yr+" "+hr+":"+min); 
    var futurestring=Date.parse(futurestring1)-(today.getTimezoneOffset()*(1000*60)); 
    var dd=futurestring-todaystring; 
    var dday=Math.floor(dd/(60*60*1000*24)*1); 
    var dhour=Math.floor((dd%(60*60*1000*24))/(60*60*1000)*1); 
    var dmin=Math.floor(((dd%(60*60*1000*24))%(60*60*1000))/(60*1000)*1); 
    var dsec=Math.floor((((dd%(60*60*1000*24))%(60*60*1000))%(60*1000))/1000*1); 
    if(dday<=0&&dhour<=0&&dmin<=0&&dsec<=0){ 
     document.getElementById('count2').innerHTML=current; 
     document.getElementById('count2').style.display="inline"; 
     document.getElementById('count2').style.width="390px"; 
     document.getElementById('dday').style.display="none"; 
     document.getElementById('dhour').style.display="none"; 
     document.getElementById('dmin').style.display="none"; 
     document.getElementById('dsec').style.display="none"; 
     document.getElementById('days').style.display="none"; 
     document.getElementById('hours').style.display="none"; 
     document.getElementById('minutes').style.display="none"; 
     document.getElementById('seconds').style.display="none"; 
     return; 
    } 
    else { 
     document.getElementById('count2').style.display="none"; 
     document.getElementById('dday').innerHTML=dday; 
     document.getElementById('dhour').innerHTML=dhour; 
     document.getElementById('dmin').innerHTML=dmin; 
     document.getElementById('dsec').innerHTML=dsec; 
     setTimeout("countdown(theyear,themonth,theday,thehour,theminute)",1000); 
    } 
} 

</script> 
</head> 
<body onLoad="countdown(year,month,day,hour,minute)"> 
</body> 
</html> 

答えて

0

は、そのような単純なことができますか?

<html> 

<script type="text/javascript"> 

var current="http://www.google.com" 

var year=2011;   
var month=11;   
var day=09;   
var hour=13;   
var minute=30;   
var tz=+1;   

var montharray=new Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"); 

function countdown(yr,m,d,hr,min){ 
    theyear=yr;themonth=m;theday=d;thehour=hr;theminute=min; 
    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 todaystring1=montharray[todaym]+" "+todayd+", "+todayy+" "+todayh+":"+todaymin+":"+todaysec; 
    var todaystring=Date.parse(todaystring1)+(tz*1000*60*60); 
    var futurestring1=(montharray[m-1]+" "+d+", "+yr+" "+hr+":"+min); 
    var futurestring=Date.parse(futurestring1)-(today.getTimezoneOffset()*(1000*60)); 
    var dd=futurestring-todaystring; 
    var dday=Math.floor(dd/(60*60*1000*24)*1); 
    var dhour=Math.floor((dd%(60*60*1000*24))/(60*60*1000)*1); 
    var dmin=Math.floor(((dd%(60*60*1000*24))%(60*60*1000))/(60*1000)*1); 
    var dsec=Math.floor((((dd%(60*60*1000*24))%(60*60*1000))%(60*1000))/1000*1); 
    if(dday<=0&&dhour<=0&&dmin<=0&&dsec<=0){ 
     window.location = current; 
    } 
    else { 
     document.getElementById('count2').style.display="none"; 
     document.getElementById('dday').innerHTML=dday; 
     document.getElementById('dhour').innerHTML=dhour; 
     document.getElementById('dmin').innerHTML=dmin; 
     document.getElementById('dsec').innerHTML=dsec; 
     setTimeout("countdown(theyear,themonth,theday,thehour,theminute)",1000); 
    } 
} 

</script> 
</head> 
<body onLoad="countdown(year,month,day,hour,minute)"> 
</body> 
</html> 
+0

このスクリプトでは、自動的にリダイレクトされません。ページを更新する場合にのみリダイレクトされます ここに何らかのカウンタを追加するにはどうすればよいですか? – user1036142

+0

私は頭のタグを忘れてしまった。それは働いているtnxxxxxx – user1036142

関連する問題