2016-06-21 14 views
1

Ich versuche, einige Javascript zu schreiben, die ständig auf die aktuelle Sekunde der Zeit überprüft und wenn es einen bestimmten zweiten Wert entspricht, um die Seite zu aktualisieren und damit weitermachen, so wird meine Seite immer Aktualisierung in festgelegten zweiten Intervallen basierend auf der aktuellen Zeit. Zum Beispiel: 3:01:10 PM, 3:01:15 PM, 3:01:20 PM, 3:02:10 PM usw.Javascript Seite aktualisieren auf der Grundlage der aktuellen Zeit

Mein Code unten scheint nicht zu funktionieren - irgendwelche Ideen Wie könnte ich das erreichen? Vielen Dank!

var seconds = new Date().getSeconds(); 
setTimeout(function(){ 
if (seconds == 10 || seconds == 15 || seconds == 20) { 
    window.location.reload(1); 
} 
}, 1000); 
+0

put 'var sekunden = new Date(). GetSeconds();' innerhalb der 'setTimeout'. – BenG

+0

pls. Beachten Sie, dass JS Client-Zeit verwendet - es kann verschiedene –

Antwort

3

Sie erhalten den Wert second genau einmal mit Ihrem Code. Sie müssen die Variable innerhalb der Funktion bewegen und verändern setTimeout-setInterval:

setInterval(function(){ 
    var seconds = new Date().getSeconds(); 
    if (seconds == 10 || seconds == 15 || seconds == 20) { 
     window.location.reload(1); 
    } 
}, 1000); 
+1

Vielen Dank, das hat funktioniert! – gabebt

0

Ihr Problem ist, dass Sie nie den Wert von „Sekunden“ aktualisieren. Versuchen Sie es in die Funktion zu verschieben.

var seconds; 
setTimeout(function(){ 
seconds = new Date().getSeconds(); 
if (seconds == 10 || seconds == 15 || seconds == 20) { 
    window.location.reload(1); 
} 
}, 1000); 
Verwandte Themen