2013-06-02 18 views
5

mam ten kod JavaScript, który dostałam od mojego forum na stronie HTML:Jak zrobić zegar javascript 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> 

Moje pytanie brzmi: w jaki sposób można uczynić go przeładować, gdy czas się skończy. więc jeśli sekundy i menui = 0, przeładuje.

Lub jeśli masz lepszy prostych razy, proszę mi pokazać jak :)

Odpowiedz

2

dodać następujące wiersze w odliczaniu:

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

bardziej proste (i piękniejszego) rozwiązanie:

<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

Nie widziałem, że po prostu chcesz przeładować :) –