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

L'événement de changement de taille de la fenêtre du navigateur IE7 exécute plusieurs fois un problème de bug et de redimensionnement sous IE6/IE7/IE8_jquery

WBOY
Libérer: 2016-05-16 15:43:51
original
1222 Les gens l'ont consulté

Cet article utilise principalement des exemples de code pour vous présenter le bug de l'événement de changement de taille de la fenêtre du navigateur IE7 s'exécutant plusieurs fois et le problème de redimensionnement sous IE6/IE7/IE8, introduction étape par étape, présentez d'abord la taille de la fenêtre du navigateur IE7 ; événement de changement exécutant plusieurs fois un bug, veuillez voir ci-dessous pour une analyse de problème spécifique et des solutions.

var resizeTimer = null;
$(window).resize(function() {
 if (resizeTimer) clearTimeout(resizeTimer);
 resizeTimer = setTimeout("alert('mm')", 500);
});
Copier après la connexion
Copier après la connexion

Il existe aussi une solution en jugeant la parité de la variable (je pense que cette méthode est correcte)

Le code est le suivant :

var n=0;
$(window).resize(function(){
 if(n%2==0){
  alert("mm");
 }
 n++;
});
Copier après la connexion
Copier après la connexion

Qu'il soit encapsulé par jquery ou js natif, ce bug se produira

Solution pour redimensionner un événement s'exécutant plusieurs fois sous JQuery dans IE6/IE7/IE8

Lors de l'utilisation de l'événement de redimensionnement de jQuery, j'ai constaté que le temps de redimensionnement sera exécuté deux fois à chaque fois que la taille de la fenêtre du navigateur est modifiée. J'ai recherché sur Baidu et j'ai trouvé une solution,

.

Utilisez setTimeout pour résoudre ce problème. Le code est le suivant :

var resizeTimer = null;
$(window).resize(function() {
 if (resizeTimer) clearTimeout(resizeTimer);
 resizeTimer = setTimeout("alert('mm')", 500);
});
Copier après la connexion
Copier après la connexion

Il existe aussi une solution en jugeant la parité des variables (je pense que cette méthode est ok), le code est le suivant :

var n=0;
$(window).resize(function(){
 if(n%2==0){
  alert("mm");
 }
 n++;
});
Copier après la connexion
Copier après la connexion

Ce qui précède est l'accent mis par l'article sur le bug d'exécution multiple de l'événement de changement de taille de la fenêtre du navigateur IE7 et le problème de redimensionnement sous IE6/IE7/IE8. J'espère que cela sera utile à tout le monde.

Étiquettes associées:
ie6
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal