Fluidité sur jquery.slideUp();

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Fluidité sur jquery.slideUp();

par x@v » 22 août 2008, 23:00

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);

Fluidité sur jquery.slideUp();

par guilt92 » 21 août 2008, 15:26

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.