Heim > Artikel > Backend-Entwicklung > javascript - Wie begrenzt JS die Anzahl der gleitenden Lasten beim gleitenden Laden?
Wenn der Benutzer aufgrund der langsamen Netzwerkgeschwindigkeit oder der langsamen Datenrückgabe vom Server nach oben rutscht, um mehr Daten zu laden, erfahren Sie, wie Sie die Schiebezeiten begrenzen können, um die paginierten Daten nur einmal zu laden, und wie Sie den Code implementieren
Wenn der Benutzer aufgrund der langsamen Netzwerkgeschwindigkeit oder der langsamen Datenrückgabe vom Server nach oben rutscht, um mehr Daten zu laden, erfahren Sie, wie Sie die Schiebezeiten begrenzen können, um die paginierten Daten nur einmal zu laden, und wie Sie den Code implementieren
Fordern Sie dann die erfolgreiche Rückgabe der Daten an, rendern Sie sie auf der Seite und addieren Sie dann 1 zur Seitenzahl
Dies ist auch eine Grundvoraussetzung, um wiederholte Übermittlungen zu verhindern.
Sie legen eine Variable als Statussperre fest, z. B. is_post = 0
, und setzen sie beim Hochziehen auf 1, um Daten anzufordern. Zu diesem Zeitpunkt wird das Hochziehen durchgeführt Geben Sie keine Anfrage mehr aus und warten Sie auf eine Anfrage, um die Daten zu vervollständigen. Wenn sie zurückkommt, setzen Sie sie einfach wieder auf 0.
Sie benötigen throttle/debounce
. Ich habe einen Artikel für Sie gefunden: http://www.css88.com/archives...
Wählen Sie entsprechend Ihrer tatsächlichen Situation, Lodash/Underscore verfügt über vorgefertigte Methoden zur Verwendung.
Setze eine Flagge, haha.
Geben Sie mir ein Beispiel
<code>var loading = false; nextPage(1); function nextPage(page) { if (loading) return; loading = true; $.ajax({ // .... success: function() { loading = false; } }) }</code>
Eine davon ist die Statussperre, wie oben erwähnt
Es gibt auch eine Funktion namens JS-Funktionsdrosselung, suchen Sie danach