Heim >Web-Frontend >js-Tutorial >Wie kann ich mit jQuery erkennen, wann ein Benutzer mit dem Scrollen aufhört?

Wie kann ich mit jQuery erkennen, wann ein Benutzer mit dem Scrollen aufhört?

Linda Hamilton
Linda HamiltonOriginal
2024-11-30 06:36:12804Durchsuche

How Can I Detect When a User Stops Scrolling Using jQuery?

Das Scroll-Ereignis von jQuery erkennt, wenn der Benutzer mit dem Scrollen aufhört.

Das scroll()-Ereignis von jQuery ist nützlich, um zu erkennen, wann ein Benutzer scrollt. Für bestimmte Szenarien ist es jedoch auch notwendig zu wissen, wann das Scrollen aufgehört hat.

Lösung:

Um dies zu erreichen, können wir eine Kombination aus Scroll( ), clearTimeout() und setTimeout().

$(window).scroll(function() {
    clearTimeout($.data(this, 'scrollTimer'));
    $.data(this, 'scrollTimer', setTimeout(function() {
        console.log("Haven't scrolled in 250ms!");
    }, 250));
});

So funktioniert es funktioniert:

  1. Registrieren Sie einen scroll()-Ereignishandler im Fenster.
  2. Löschen Sie im Handler alle vorhandenen Scroll-Timer (clearTimeout()).
  3. Setzen ein neuer Scroll-Timer mit setTimeout() mit einer Verzögerung (z. B. 250 ms).
  4. Wenn das Scroll-Ereignis vor dem ausgelöst wird Der Timer läuft ab, der vorhandene Timer wird gelöscht (clearTimeout()) und ein neuer Timer wird eingestellt.
  5. Wenn der Timer ohne Scroll-Ereignisse abläuft, bedeutet das, dass der Benutzer mit dem Scrollen aufgehört hat.

Verbesserung durch jQuery-Erweiterung:

Ein alternativer Ansatz ist die Verwendung einer jQuery-Erweiterung namens „jQuery.unevent.js“:

$(window).on('scroll', function(e) {
    console.log(e.type + '-event was 250ms not triggered');
}, 250);

Indem wir eine Verzögerung als letzten Parameter an die on()-Methode übergeben, können wir das Mindestintervall zwischen Ereignisauslösern angeben.

Vorteile dieses Ansatzes:

  • Es bietet eine saubere und prägnante Möglichkeit, mit der Unterbrechung des Scrollens umzugehen Ereignisse.
  • Die Verzögerung kann an die Anforderungen der Anwendung angepasst werden.
  • Sie kann verwendet werden, um Aktionen auszulösen, wenn das Scrollen gestoppt wurde, wie z. B. das Wiederherstellen von Transparenzeffekten oder das Entfernen von Layover-Elementen.

Das obige ist der detaillierte Inhalt vonWie kann ich mit jQuery erkennen, wann ein Benutzer mit dem Scrollen aufhört?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn