Heim  >  Artikel  >  Web-Frontend  >  Wie erkennt man genaue Ereignisse zur Fenstergrößenänderung in JavaScript/jQuery?

Wie erkennt man genaue Ereignisse zur Fenstergrößenänderung in JavaScript/jQuery?

Susan Sarandon
Susan SarandonOriginal
2024-11-04 15:30:02243Durchsuche

How to Detect Accurate Window Resize Events in JavaScript/jQuery?

Erkennen genauer Ereignisse zur Fenstergrößenänderung in JavaScript/jQuery

Bei der Verwendung von $(window).resize zur Überwachung von Fenstergrößenänderungen kommt es häufig dazu Bei der manuellen Größenänderung treten mehrere Ereignisauslösungen auf. Dies kann problematisch sein, wenn Sie Code erst ausführen müssen, nachdem die Größenänderung abgeschlossen ist.

Lösung:

Um dieses Problem zu beheben, können wir die Funktion „waitForFinalEvent“ verwenden:

<code class="javascript">var waitForFinalEvent = (function () {
  var timers = {};
  return function (callback, ms, uniqueId) {
    if (!uniqueId) {
      uniqueId = "Don't call this twice without a uniqueId";
    }
    if (timers[uniqueId]) {
      clearTimeout (timers[uniqueId]);
    }
    timers[uniqueId] = setTimeout(callback, ms);
  };
})();</code>

Diese Funktion stellt sicher, dass der Rückruf erst nach einer angegebenen Verzögerung (standardmäßig 500 ms) nach dem letzten Größenänderungsereignis ausgeführt wird. Der uniqueId-Parameter ermöglicht die konfliktfreie Verwendung mehrerer Rückrufe.

Verwendung:

Um diese Funktion zu nutzen, können Sie Ihren Code wie folgt ändern:

<code class="javascript">
$(window).resize(function () {
    waitForFinalEvent(function(){
      alert('Resize...');
      //...
    }, 500, "some unique string");
});</code>

Durch die Implementierung dieser Lösung können Sie sicherstellen, dass Ihr Code genau auf Fenstergrößenänderungsereignisse reagiert und erst ausgeführt wird, nachdem die Größenänderung abgeschlossen wurde.

Das obige ist der detaillierte Inhalt vonWie erkennt man genaue Ereignisse zur Fenstergrößenänderung in JavaScript/jQuery?. 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