IE6 me surprend toujours mais celui-ci est VRAIMENT impair.jQuery trop rapide pour IE6? (Problème impair résolu par l'ajout d'alertes?)
Je crée un menu horizontal où j'ai besoin que le texte de chaque 'bouton' soit centré verticalement. Facile dans n'importe quel navigateur sauf IE. Donc, pour les navigateurs IE, j'utilise un peu de javascript pour ajouter le remplissage nécessaire à chaque bouton pour s'assurer que le texte apparaît centré. J'ai obtenu ce travail très bien dans IE8 et IE7. IE6 ne faisait tout simplement pas bien pour une raison quelconque.
Alors, j'ai ajouté un droit d'alerte avant la ligne qui ajoute le rembourrage:
$menuTriggerUL.children('li').each(function(i){
var heightDifference = tallestTab-tabTextHeight[i];
if (heightDifference < 0){heightDifference=0};
alert(heightDifference);
$(this).children('a:first').css("padding-top", Math.floor(heightDifference/2));
});
Avec cette alerte là, IE6 un par un rembourrage appliquer le bon à chaque élément correctement.
Si je sors de l'alerte, il tâtonne et obtient le premier droit, mais trébuche sur les suivants.
Il semble que jQuery essaie d'aller plus vite qu'EIE6 peut le faire. Évidemment, ce n'est probablement pas ce qui se passe, mais je ne sais pas comment le décrire autrement.
Quelques éléments pouvant être impliqués dans le problème: J'utilise une fonction jQuery each() et, à l'intérieur, saisissant des valeurs d'un tableau précédemment rempli.
Les théories sur ce qui pourrait se passer?
MISE À JOUR: La réponse de jhurshman ci-dessous était la solution. J'aimerais en savoir plus sur cette question et si les gens ont des idées sur les scénarios qui pourraient déclencher ce problème pour IE6. Je ne l'ai jamais rencontré, mais je suis heureux d'avoir une solution dans le sac à outils pour une utilisation future.
Est-ce que tout cela est dans un gestionnaire $ (document) .ready? – eliah
@eliah: oui c'est –