Maison >interface Web >js tutoriel >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

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
WBOYoriginal
2016-05-16 15:43:511252parcourir

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);
});

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++;
});

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);
});

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++;
});

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.

Déclaration:
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