2013-06-02 5 views
5

ich diesen Code von Javascript, das ich von einem Forum für meine HTML-Seite bekam:Wie man Javascript-Timer Reload

<html> 
<head> 
<title>Countdown</title> 
<script type="text/javascript"> 
// set minutes 
var mins = 0.1; 

// calculate the seconds (don't change this! unless time progresses at a different speed for you...) 
var secs = mins * 60; 
function countdown() { 
    setTimeout('Decrement()',1000); 
} 

function Decrement() { 
    if (document.getElementById) { 
     minutes = document.getElementById("minutes"); 
     seconds = document.getElementById("seconds"); 
     // if less than a minute remaining 

     if (seconds < 59) { 
      seconds.value = secs; 

     } else { 
      minutes.value = getminutes(); 
      seconds.value = getseconds(); 
     } 
     secs--; 
     setTimeout('Decrement()',1000); 

    } 
} 
function getminutes() { 
    // minutes is seconds divided by 60, rounded down 
    mins = Math.floor(secs/60); 
    return mins; 

} 
function getseconds() { 
    // take mins remaining (as seconds) away from total seconds remaining 
    return secs-Math.round(mins *60); 
} 

</script> 
</head> 
<body> 

<div id="timer"> 
    Minutes:<input id="minutes" type="text" style="width: 14px; border: none; background-color:none; font-size: 16px; font-weight: bold;">:<input id="seconds" type="text" style="width: 26px; border: none; background-color:none; font-size: 16px; font-weight: bold;"> seconds. 
</div> 
<script> 
countdown(); 
</script> 

Meine Frage ist, wie kann ich es machen nachladen, wenn die Zeit abgelaufen ist. Also, wenn Sekunden und Menuette = 0, würde es neu laden.

Oder wenn Sie einen besseren einfach mal haben, mir bitte zeigen, wie :)

Antwort

2

die folgenden Zeilen in Countdown hinzu:

if (getseconds() == 0 && getminutes() == 0) { 
    document.location.reload(true) 
} 
0

Eine einfache (und schöner) Lösung:

<html> 
<head> 
<title>Countdown</title> 
<script type="text/javascript"> 
// set minutes 
var mins = 0.1; 

// calculate the seconds (don't change this! unless time progresses at a different speed for you...) 
var secs = mins * 60; 

function countdown() { 
    secs = secs - 1; 

    if (secs < 0) { 
     document.location.reload(true); 
    } else { 
     document.getElementById('countdown').innerHTML = secs; 
     window.setTimeout('countdown()', 1000); 
    } 
} 

window.onload = countdown; 
</script> 
</head> 
<body> 
    Reloading in <span id="countdown">&nbsp;</span> seconds. 
</body> 
</html> 
+0

Ich habe nicht gesehen, dass Sie nur ein Reload wollen :) –