En attendant l'événement 'fin' de l'événement 'redimensit' pour une exécution d'action optimale
Dans la programmation axée sur les événements, il est courant de gérer les modifications de taille à l'aide de l'événement 'redimensive', généralement attribué à une fenêtre ou à un autre élément récepable. Cependant, lorsque des opérations de redimensionnement se produisent, l'événement «redimensionner» est déclenché plusieurs fois pendant le processus, conduisant à une exécution redondante de votre gestionnaire d'événements. 'settimeout ()' et 'cleartimeout ()'.
solution:
créer une fonction, 'redimensiw ()', qui servira votre gestionnaire d'événements pour l'action de redimensionnement. // Votre action à effectuer lors de la redimensionnement des finitions }
Déclarer une variable, «DOIT» et l'initialiser comme «null». Cette variable conservera l'ID de tempsout renvoyé par 'setTimeout ()'. var doit = null;
joignez l'écouteur d'événements à l'événement 'onresize' de l'objet 'fenêtre'. 'DOIT' Variable.
function resizedw() { // Your action to be performed when resizing finishes }
Attribuez le résultat de 'setTimeout ()' à la variable 'DOIT'. Cela planifiera l'exécution de 'Residizew ()' après un délai de 100 millisecondes.
var doit = null;
Lorsque l'opération de redimensionnement se termine, le gestionnaire d'événements «OnResize» sera invoqué sans déclencher «Resizedw ()» immédiatement. Après le retard désigné (100 millisecondes), 'Resizedw ()' exécutera, marquant l'exemple de code de redimensionnement. // Votre action à effectuer lors de la redimensionnement des finitions console.log («redimensionnement terminé!»); } var doit = null; window.onresize = function () { ClearTimeout (DOIT); DOIT = setTimeout (ResidizeW, 100); };
window.onresize = function() {
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3