Maison > interface Web > js tutoriel > Comment détecter des événements précis de redimensionnement de fenêtre en JavaScript/jQuery ?

Comment détecter des événements précis de redimensionnement de fenêtre en JavaScript/jQuery ?

Susan Sarandon
Libérer: 2024-11-04 15:30:02
original
268 Les gens l'ont consulté

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

Détection d'événements précis de redimensionnement de fenêtre dans JavaScript/jQuery

Lors de l'utilisation de $(window).resize pour surveiller les changements de taille de fenêtre, il est courant de rencontrer plusieurs déclenchements d’événements lors du redimensionnement manuel. Cela peut être problématique lorsque vous devez exécuter du code uniquement une fois le redimensionnement terminé.

Solution :

Pour résoudre ce problème, nous pouvons utiliser la fonction waitForFinalEvent :

<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>
Copier après la connexion

Cette fonction garantit que le rappel n'est exécuté qu'après un délai spécifié (500 ms par défaut) après le dernier événement de redimensionnement. Le paramètre uniqueId permet d'utiliser plusieurs rappels sans conflit.

Utilisation :

Pour utiliser cette fonction, vous pouvez modifier votre code comme suit :

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

En implémentant cette solution, vous pouvez vous assurer que votre code répond avec précision aux événements de redimensionnement de fenêtre, en s'exécutant uniquement une fois le redimensionnement terminé.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal