2010-08-02 5 views
2

J'ai un .slideToggle simple sur mes titres de catégories sur le site: http://www.UtahCodeCamp.com/Sessions/:jQuery .slideToggle ne change pas la taille de contenir div

// Slide Toggle the headers 
$(".collapse-track").each(function() { 
$(this).click(function() { 
    $(this).next().slideToggle(); 
}); 
$(this).css("cursor", "pointer"); 
$(this).next().hide(); 
}); 

Tout fonctionne parfaitement dans FireFox et Chrome/Safari mais dans IE8 la div parent (avec la bordure jaune dans le bas) ne sera pas redimensionner. Ensuite, si vous développez tous les catégories et les réduisez à nouveau, les titres des catégories sont placés les uns au-dessus des autres.

Des idées sur la façon de résoudre ce problème pour IE8? Je ne suis pas aussi intéressé par la compatibilité avec IE6 ou ci-dessous, mais je voudrais soutenir IE7/8.

+0

Informations supplémentaires: Un ami a mentionné que si vous utilisez une table dans IE8, jQuery a souvent des problèmes. Le contenu que j'essaie de développer et de réduire possède un tableau pour chaque élément. –

Répondre

2

Le problème que vous rencontrez n'est pas directement lié au mehod jQuery slideToggle. Au lieu de cela, cela est dû à l'une de vos règles CSS. J'ai utilisé la barre d'outils du développeur pour modifier ce qui suit:

.FloatLeft { 
    width: 850px; 
    /*display: inline-block;*/ /* This line was causing the problem */ 
} 

Je n'ai pas testé si cela va affecter Firefox ou Chrome.

+0

Merci beaucoup! Vous êtes génial!! Parfois, ces choses deviennent si complexes qu'il est difficile de comprendre le vrai problème. Par curiosité, savez-vous quel navigateur se comportait de manière incorrecte? Il me semble que cela devrait briser tous les navigateurs? –

+0

Le problème où vous développez toutes les catégories et les réduisez encore une fois se produit en quelque sorte mais ce n'est pas si mal maintenant. –

+0

Je suis désolé, j'aurais dû mentionner que j'ai essayé cela sur IE 8 seulement. Je n'ai pas testé sur d'autres navigateurs pour voir si ce changement casserait la page sur eux. Je vous recommande de le vérifier sur les autres navigateurs que vous voulez que votre site supporte. Quant à être brisé sur tous les navigateurs, ce n'est pas toujours le cas, car chacun pourrait implémenter la spécification CSS différemment, ce qui conduit à des incohérences dans le rendu de la page sur différents navigateurs. –