Heim > Web-Frontend > js-Tutorial > Hauptteil

Wie löst man eine Aktion erst aus, nachdem das Größenänderungsereignis abgeschlossen ist?

Barbara Streisand
Freigeben: 2024-11-06 12:24:03
Original
327 Leute haben es durchsucht

How to Trigger an Action Only After the Resize Event Completes?

Warten auf das Ende des „Resize“-Ereignisses, um eine Aktion auszulösen

Bei der Arbeit mit responsivem Design ist es oft wünschenswert, eine Aktion auszuführen Aktion erst, nachdem der Größenänderungsvorgang vollständig abgeschlossen ist. Allerdings kann die herkömmliche Ereignisbehandlung mit $(window).resize() während des Größenänderungsprozesses mehrere Aufrufe auslösen, was zu unerwünschtem Verhalten führt.

Lösung: Verwendung von setTimeout() und clearTimeout()

Um das gewünschte Verhalten zu erreichen, kann eine Kombination aus setTimeout() und clearTimeout() verwendet werden. Hier ist ein Beispiel:

function resizedw() {
  // Haven't resized in 100ms!
}

var doit;
window.onresize = function () {
  clearTimeout(doit);
  doit = setTimeout(resizedw, 100);
};
Nach dem Login kopieren

Dieser Ansatz verwendet einen Timer, um die Ausführung der resizedw()-Funktion zu verzögern. Wenn das Größenänderungsereignis auftritt, werden alle vorhandenen Timer gelöscht und ein neuer gestartet. Wenn der Größenänderungsvorgang innerhalb von 100 Millisekunden fortgesetzt wird, wird der Timer erneut zurückgesetzt. Erst wenn die Größenänderung 100 Millisekunden lang angehalten wurde, wird die Funktion resizedw() aufgerufen.

Beispiel für jsfiddle:

Ein funktionierendes Beispiel dieser Lösung finden Sie hier zum jsfiddle-Link in der Antwort.

Das obige ist der detaillierte Inhalt vonWie löst man eine Aktion erst aus, nachdem das Größenänderungsereignis abgeschlossen ist?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!