Maison > interface Web > js tutoriel > Comment gérer efficacement les événements de redimensionnement avec la gestion des événements retardés ?

Comment gérer efficacement les événements de redimensionnement avec la gestion des événements retardés ?

Mary-Kate Olsen
Libérer: 2024-11-06 20:48:02
original
329 Les gens l'ont consulté

How to Handle Resize Events Efficiently with Delayed Event Handling?

Gestion retardée des événements pour l'événement de redimensionnement

Lors de la gestion de l'événement de redimensionnement en JavaScript, il est courant de rencontrer plusieurs appels pendant le processus de redimensionnement. Cela peut entraîner des problèmes de performances ou un comportement indésirable. Pour résoudre ce problème, envisagez d'utiliser une approche de gestion des événements retardés.

Utilisation de setTimeout() et clearTimeout()

Une solution efficace consiste à utiliser setTimeout() et clearTimeout () fonctions. Voici comment cela fonctionne :

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

var doit;
window.onresize = function() {
    clearTimeout(doit);
    doit = setTimeout(resizedw, 100);
};
Copier après la connexion

Dans cette solution :

  • La fonction resizedw est invoquée uniquement après qu'il n'y ait eu aucun événement de redimensionnement pendant le délai spécifié (dans ce cas, 100 millisecondes).
  • clearTimeout() est utilisé pour annuler toute invocation resizew en attente déclenchée par des événements de redimensionnement précédents.
  • setTimeout() planifie une nouvelle invocation resizew après le délai, garantissant qu'elle ne se produit qu'une seule fois. après l'événement de redimensionnement final.

Cette approche vous permet de différer une action jusqu'à la fin de l'événement de redimensionnement, empêchant ainsi plusieurs exécutions.

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