Maison > interface Web > js tutoriel > le corps du texte

Comment empêcher plusieurs événements de redimensionnement dans JavaScript/jQuery ?

Mary-Kate Olsen
Libérer: 2024-11-04 11:56:02
original
863 Les gens l'ont consulté

How to Prevent Multiple Resize Events in JavaScript/jQuery?

Prévention de plusieurs événements de redimensionnement dans JavaScript/jQuery

Lors de l'utilisation de $(window).resize, vous pouvez rencontrer plusieurs déclenchements de l'événement lors du redimensionnement manuel de la fenêtre. Pour résoudre ce problème et garantir que la fonction n'est appelée qu'une seule fois une fois le redimensionnement terminé, envisagez la solution suivante :

Implémentation à l'aide de waitForFinalEvent

Cette version modifiée d'une solution du CMS permet plusieurs invocations dans différentes parties de votre code :

<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

Exemple d'utilisation

Intégrez le waitForFinalEvent dans votre code comme suit :

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

Cela garantit que lorsque le redimensionnement de la fenêtre est terminé, la fonction de rappel spécifiée dans waitForFinalEvent sera exécutée avec un délai de 500 millisecondes. Le paramètre ID unique évite les conflits lors de l'utilisation de plusieurs rappels pour le redimensionnement de la fenêtre.

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