Page 1 sur 1

Fluidité sur jquery.slideUp();

Posté : 21 août 2008, 15:26
par guilt92
Bonjour,

J'utilise la fonction slideUp() de jquery pour deplier et replier des blocs progressivement.

Ma structure est du type suivant :

Code : Tout sélectionner

<div id="gros_bloc"> <h2 id="tst1" onclick="inverse(this.id)">TST1</h2> <div id="tst1_content"> <h3>blabla</h3> </div> <h2 id="tst2" onclick="inverse(this.id)">TST2</h2> <div id="tst2_content"> <h3>blabla2</h3> </div> <h2 id="tst3" onclick="inverse(this.id)">TST3</h2> <div id="tst3_content"> <h3>blabla3</h3> </div> </div>
Ma fonction inverse fait simplement :

Code : Tout sélectionner

function inverse(bloc_id) { var bl = document.getElementById(''+bloc_id); if(bl.className == 'replie') { bl.className = ""; $("#"+bloc_id+"_content").slideDown("normal"); } else { bl.className = 'replie'; $("#"+bloc_id+"_content").slideUp("normal"); } }
Mon problème est le suivant : Le slideUp se passe bien sauf à la fin, ou d'un coup il fait "disparaitre" le bloc (tst1, 2 ou 3) assez subitement ce qui fait une fin de mouvement pas fluide, on dirait que le mouvement suit une ligne puis d un coup franchi une marche... Je ne sais pas quoi modifier dans le code ou le css pour avoir un effet fluide de A à Z, sachant par ailleurs que le slideDown se passe à merveille....

Merci.

Posté : 22 août 2008, 23:00
par x@v
essaie toggle, c'est un problème récurent, j'avais lut quelque chose de similiare dans une discution.
Je ne peux pas beaucoup t'aider mais :
document.getElementById(''+bloc_id); == $(''+bloc_id);