2010-11-03 24 views
6

J'ai rencontré ce problème deux fois sur deux sites différents. Il fonctionne dans tous les navigateurs autres que IE9.jQuery slideDown dans IE9 - le contenu disparaît une fois l'animation terminée

J'ai div ouvert et fermé en utilisant jquery slideup et slideDown (le même problème se produit avec slideToggle). Je suis capable de voir le contenu de la div lorsqu'elle glisse vers le bas, mais dès que l'animation s'arrête, le contenu disparaît.

Voici un exemple de ce problème http://www.ohnuts.com/searchResults.cfm?criteria=cashews&search=all cliquez sur le lien "Autres catégories".

Est-ce que quelqu'un d'autre a rencontré ce problème, et existe-t-il des solutions de contournement? Je peux le changer pour faire un simple show/hide, ça marche bien, mais je voudrais garder l'effet de l'ouverture.

+0

Avez-vous déposé un bogue ou cherché un bogue sur le traqueur de bogues jQuery? Rappelez-vous que IE9 est toujours en mode de prévisualisation, c'est comme dire que quelque chose est cassé dans un webkit tous les soirs. Maintenant j'ai faim de noix. – epascarello

Répondre

6

suggestion honnête, do not fix it, report it as a bug to the IE9 team mais ne passent pas de temps à régler leur bug.

Cela devrait être corrigé dans IE9 final, et le résultat final sera juste le temps de développement gaspillé de votre côté ... les bêtas sont buggés, ils ont toujours été bogués et seront toujours bogués ... ils ne seraient pas être appelé betas autrement.

+0

+1. Je viens de vérifier et cela n'est pas corrigé dans Prev 6. Les docs jQuery souffrent en fait d'un problème similaire, que j'ai signalé environ une semaine avant que Prev 6 ne soit publié. Heureusement, il sera corrigé dans Prev 7 ou Beta 2. –

+0

Merci, Nick. Je l'ai signalé comme un bogue, ID 619034 – Yisroel

17

2 pouces avec la réponse de Nick.

Mais au moment où l'équipe d'IE résoudra le problème, vous serez probablement sur un autre projet.

Voici ce qui a fonctionné pour moi avec IE7 qui fonctionnera certainement sur IE9.

Sur la DIV vous définissez un effet slideDown, ajoutez à votre CSS:

overflow: hidden; 

Bonne journée!

+0

Je travaille avec IE9 final et toutes les mises à jour, et cela est encore brisé. Votre solution a fonctionné pour moi, et je l'apprécie vraiment. –

+0

Je voudrais pouvoir upvote 100 fois. Je vous remercie! – Chuck

+0

Merci bro ... débordement: caché; a basculé une erreur IE7 que j'avais avec le .slideToggle() – iOnline247

0

J'ai remarqué que cela se produit sur iPad iOS 5.0 dans Safari mobile. position:relative est le coupable sur tous les éléments d'élément de liste. overflow:hidden corrige cela, mais cela n'aide pas si vous avez un 3ème niveau de navigation. Aucune solution de contournement connue, sauf la modification slideToggle à showToggle.

0

Il existe également une autre solution à cela, qui est d'ajouter .css('zoom') à la chaîne jQuery.

0

I eu le même problème avec IE, et j'ajouté au css de l'élément coulissant le code suivant:

zoom: 1;