JQuery accordion bug dans IE 8? Solution de contournement?
Pour voir ce accordéon bug d'animation, allez à la http://hopplayground.com/ avec Internet Explorer 8 (IE8)
Cliquez sur "Bios". Le premier clic sur un élément de menu doit s'ouvrir le sous-menu. Mais il ne le fait pas, rien ne s'affiche. Le deuxième clic sorte de ferme le menu, mais laisse quelques artefacts. L'utilisation d'autres menus fonctionne correctement.
Question: Quelle est la cause de ce problème, et est-il un moyen de le résoudre ou contourner?
Je suis en utilisant jQuery 1.4.2 avec jQuery UI 1.8.2. La fonctionnalité fonctionne parfaitement sous Firefox et Safari.
TTFN
Travis
OriginalL'auteur Travis Smith | 2010-06-22
Vous devez vous connecter pour publier un commentaire.
Pas sûr de ce que le problème est, donc, si une solution de contournement ne au lieu d'une solution, la page fonctionne pour moi dans IE7, donc vous pouvez ajouter la balise meta suivante dans votre document
<head>
:Cette force IE8 en mode de compatibilité IE7. En utilisant cette balise réduire les problèmes de navigateur.
Je comprends votre point de vue et estiment qu'il est préférable de résoudre le problème, mais je voulais donner une solution pratique dans le cas où l'opportunisme est un facteur essentiel à portée de main.
Je ne pense que vous avez raison-et je fais de mon mieux pour aller de l'Internet de l'avant avec le reste de ce que je fais sur le site, mais je pense aussi que je dois faire ce qui est mieux maintenant. Merci @mvchr. Je vais vous donner un crédit si pas de meilleure réponse vient le long.
malheureusement c'est la seule chose qui a fonctionné pour moi. Seule diff est, j'ai ajouté des commentaires conditionnels, de sorte que si un utilisateur accède à l'aide de IE9 ils obtiendront IE9 paramètres ne sont pas IE7. par exemple <!-- [if IE 8] --> <meta http-equiv="X-UA-Compatible" content="IE=7" /> <!-- [endif] -->
OriginalL'auteur mVChr
Juste pensé que je pourrais jeter mon grain de sel. Basé sur mVChr réponse, vous pouvez utiliser:
En la plaçant à l'avantage des forces, c'est à dire l'utilisation de la dernière moteur de rendu disponibles. J'ai eu le même problème, et c'était un correctif pour moi.
Ce gars site parle plus à ce sujet si vous cherchez plus d'infos:
http://farukat.es/journal/2009/05/245-ie8-and-the-x-ua-compatible-situation
OriginalL'auteur AndyM
vous pouvez ajouter des styles à l'accordéon comme:
.accordéon {display:table}
à cause d'ie a un problème avec le display:inline, qui utilise jquery...
OriginalL'auteur RikawaS
Basé sur RikawaS réponse...
Sur votre accordéon en-têtes seulement, placer le code css suivant:
.accordionHeader
{
display: table;
width: 100%;
}
Si vous trouvez que les en-têtes encore sauter lorsque vous vous déplacez d'entre eux, l'utilisation d'une frontière-dessus à l'aide d'un solide de couleur plutôt que d'utiliser la marge et le remplissage. Bien sûr, cela ne fonctionne que sur les modèles ontop des couleurs solides (la frontière de la couleur aurait besoin pour correspondre à la couleur de fond). Heres un exemple:
.accordionHeader
{
border-top: 10px solid #FFFFFF;
}
Ce sera corrigé IE8 droit! Cela m'a pris un an à la figure lol.
OriginalL'auteur Andrew Howard
Je l'ai obtenu à partir d'un autre poste:
Voici le lien: Pourquoi ne pas en jQuery accordion section activer dans IE 8?
J'ai rencontré ce même problème. C'est à dire est très tatillon sur la bonne façon de html et de s'assurer qu'à l'intérieur de votre accordéon, il n'y a rien en dehors de l'
structure, par exemple, vous avez ceci:
cela va fonctionner, mais ce ne sera pas:
Tout cela serait à l'intérieur quelle que soit l'élément que vous appelez .accordéon ().
OriginalL'auteur Erik Grosskurth