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.