2017-01-23 7 views
1

Ich möchte Javascript verwenden, um meine Webseite automatisch zu aktualisieren, während Benutzer die automatische Aktualisierung mit zwei verschiedenen Tasten aktivieren/deaktivieren können (Bitte beachten Sie dass die Tasten <label> und <input> Tag verwenden). Ich habe mein Bestes versucht, um den Code zu schreiben, aber ich weiß immer noch nicht, wie ich diese beiden Codes verknüpfen soll, damit sie richtig funktionieren kann.Javascript: Wiederholt automatisch aktualisieren Webseite mit einem ON-OFF-Tasten

Wenn der Benutzer die Schaltflächen für die automatische Aktualisierung aktiviert hat, möchte ich die automatische Aktualisierung nach dem ersten Laden fortführen, anstatt nur einmal automatisch zu aktualisieren.

Würden Sie mir bitte helfen, meine Codes zu korrigieren? Vielen Dank.

Der Code für ON und OFF-Tasten (zwei einzelne Tasten):

<div class="page-header-actions" data-toggle="buttons" role="group"> 
    <label class="btn btn-outline btn-primary active"> 
    <input type="radio" name="options" autocomplete="off" value="autorefreshoff" checked /> 
    <i class="icon wb-check text-active" aria-hidden="true"></i> Auto Refresh OFF 
    </label> 
    <label onClick="startrefreshon" class="btn btn-outline btn-primary"> 
    <input type="radio" autocomplete="off" value="autorefreshon" /> 
    <i class="icon wb-check text-active" aria-hidden="true"></i> Auto Refresh ON 
    </label> 
</div> 

Der Code für Auto-Refresh-Funktion:

<script type='text/javascript'> 
setTimeout(function(){ 
    window.location.reload(1); 
}, 5000); 
</script> 
+0

Ich glaube nicht, dass Sie dies leider tun können. Möglicherweise können Sie die Aktualisierung stoppen, aber Sie können sie nicht erneut aktivieren, ohne die Seite zu aktualisieren. –

+0

@ FrederickM.Rogers Oh, wie wäre es, wenn ich automatische Aktualisierung im Standard einschalten möchte, sobald es die Seite lädt, kann es die Auffrischungsfunktion abstellen, indem man auf die Schaltfläche auto refresh off klickt? Ist es möglich? – Dennis

+0

@ FrederickM.Rogers Lassen Sie mich mehr erklären. Ich möchte die Auto-Refresh-ON-Funktion in der Standardeinstellung aktivieren, sobald sie die Seite lädt (dh die Seite wird automatisch alle 1 Minute automatisch aktualisiert), der Benutzer kann wählen, die Auto-Refresh-Funktion durch Klicken auf Ausschalten auszuschalten (d Die Seite wird nicht automatisch aktualisiert)? Ist es möglich und wie soll ich den Code schreiben? – Dennis

Antwort

2

Hier sind ein paar Dinge, die Sie tun müssen:

  1. Sowohl die input type="radio" sollte die gleiche name haben.
  2. Geben Sie der Schaltfläche "auto refresh on" eine ID, damit Sie sie einfach in JavaScript-Code (z. B. auto-refresh-checkbox) referenzieren können.
  3. Schreibe eine Reload-Funktion, die das Kontrollkästchen überprüft, ob checked

Code ist:

function reloadPage(){ 
    var refreshEnabled = document.getElementById('auto-refresh-checkbox'); 
    if(refreshEnabled.checked) { 
    window.location.reload(1); 
    } 
} 
  1. Dann ist diese Funktion

über setInterval nennen setInterval(reloadPage, 5000);


PS: Das überprüfte "Auto Refresh" Radio verliert seinen Wert beim erneuten Laden der Seite, daher müssen Sie den Wert möglicherweise mit localStorage oder etwas anderem speichern.

+0

Großartig! Dein Code funktioniert einwandfrei. Wie wäre es, wenn ich die Funktion "Auto Refresh ON" nach dem Laden der Seite standardmäßig aktivieren möchte (dh die Seite wird automatisch alle 1 Minute automatisch aktualisiert), kann der Benutzer die automatische Aktualisierung deaktivieren, indem er auf die Schaltfläche Ausschalten klickt (dh die Seite wird nicht automatisch aktualisiert)? Ist es möglich und wie soll ich den Code schreiben? – Dennis

+0

Um die Standardeinstellung auf "EIN" zu setzen, verschieben Sie das Attribut "checked" von der Optionsschaltfläche "OFF" auf die Optionsschaltfläche "ON" in Ihrem HTML-Code. – vsr

+0

Ja, es funktioniert!:) Jetzt kann es auffrischen, sobald es geladen wird. Wie kann ich die automatische Aktualisierung der Seite stoppen, indem ich auf die Schaltfläche AUS klicke? – Dennis

Verwandte Themen