jQuery SlideDown Scintillement dans Firefox

une fois de plus un problème jQuery, Firefox vacillant. (pas de scintillement dans IE6 / 7/8, Safari)

J’ai téléchargé un exemple de page ici: http://sithlord.bplaced.net/testing/jquery_flickering/flickering.html

Il y a deux conteneurs div. La division intérieure est celle que je cache. Le plus externe est le conteneur d’emballage avec les éléments de style. J’ai trouvé le scintillement seulement se produire avec la zone de sélection. Sans le SelectBox, il n’y a pas de scintillement.

Mais ce n’est pas tout: (je ne peux pas poster un deuxième hyperlien: c’est le même lien que ci-dessus; changez simplement “flickering.html” en not_flickering.html)

Dans ce cas, j’ai sélectionné une “option” inférieure – comme vous pouvez le constater, le scintillement disparaît dans ce cas. La même chose se passe, quand il y a moins d’options au total. (moins d’environ 20)

La seule solution que j’ai trouvée consiste à supprimer la zone de sélection 🙂

Des idées, pourquoi cela se passe et comment y remédier?

Merci!

débordement caché; appliquée directement aux œuvres divisionnaires.

Trouvé ce post . Essayez de définir une largeur ou une hauteur sur le div caché. J’ai remarqué que vous n’avez pas de style sur vos divs, donc c’est possible que cela fonctionne.

Métropole

Veuillez voir http://dev.jquery.com/ticket/5743 pourquoi de telles choses sont généralement possibles avec jQuery. En bref, alors que la fonction css sans paramètre prétend ne renvoyer que des valeurs sans rien mettre à jour, elle met à jour le DOM dans certains cas.

Je suis un peu en retard sur ce point, mais j’ai rencontré un problème similaire. Ma solution: régler l’affichage: aucun à la sélection avant l’animation, puis afficher: bloquer après. Exemple:

$("div#hidden").hide(); $("a").click(function(e) { e.preventDefault(); $("div#hidden select").css('display','none'); $("div#hidden").slideDown(1000); $("div#hidden select").css('display','block'); }); }); 

Vous pouvez également utiliser les fonctions d’affichage / masquage de jquery si vous le souhaitez.