Eine einfache Strategie ist setTimeout
zu verwenden:
setTimeout(function(){
your_function_that_gets_data();
your_function_that_displays_data();
}, 1000);
Für anspruchsvollere Ansätze, die Sie in long polling aussehen könnte.
Update: Anas, es sieht aus wie Sie die Schienen ging ein wenig, nachdem ich die oben genannte Option vorgeschlagen. Egal, ob Sie setTimeout()
oder setInterval()
verwenden, Sie möchten sicherlich die verwirrende Mischung vermeiden, mit der Sie Ihre Frage aktualisiert haben.
Erstellen Sie eine PHP-Seite, die einfach die Summe zurückgibt. Schreiben Sie Ihr JavaScript, um diese Seite asynchron (d. H. Über Ajax) in dem von Ihnen gewünschten Intervall aufzurufen. Wenn das Ergebnis zurückgegeben wird, verwenden Sie eine Rückruffunktion, um die Seitenregion neu zu zeichnen, sodass die Gesamtsumme für den Benutzer aktualisiert wird.
Etwas wie folgt aus:
var updateTotal = function() {
$.get('your_script_that_returns_a_total.php', function(data){ // get new total
$('#div_displaying_total').val(data); // paint a div with the new result
});
};
Jetzt haben Sie eine einfache Funktion, die, wenn ausgeführt, wird ein div in der Ansicht mit der aktuellen Gesamt aktualisieren. Führen Sie diese Funktion so häufig aus, wie Sie möchten. Zum Beispiel ist es alle fünf Sekunden laufen:
var running = setInterval(updateTotal, 5000);
Sie können natürlich viel schicker mit Timing bekommen, Ihre updateTotal
Funktion das Schreiben selbst nach einer Verzögerung zu nennen, etc. Und können Sie die Aktualisierung wie folgt stoppen:
clearInterval(running);
... mit dem Sie einfach einen Ein-/Ausschalter einrichten können.
Wenn dies zu mehr Klarheit führt, würde ich vorschlagen, Ihre Frage zu aktualisieren, die downvotes für den verwirrten Code darin anzieht.
Bitte stellen Sie sicher, dass Sie wirklich verstehen, warum der obige Code ein totaler Unsinn ist. Sie verwenden den Browser, um Code auszuführen, der auf Ihrem Server ausgeführt werden soll. –