J'ai le code ci-dessous en fonction du charme: mais le problème vient lorsque je dois changer le contenu (le nombre de lignes): p> div.html('<div>one line replacement</div><div>another line replacement</div><div>third line</div>')
5 Réponses :
Si vous voulez le faire prendre un certain temps, alors:
div.slideDown(numberOfMilliseconds);
Vous pouvez ajouter une étendue invisible au HTML: puis le fonduer dans: p>
Aller par votre édition, vous pouvez également vouloir envisager: P> div.slideUp('slow'); // you may want this to be 'fast'
div.html('some other lines');
div.slideDown('slow');
Peut-être que si vous mettez les lignes supplémentaires dans une DIV avec l'affichage: Aucun style, vous pouvez vous arrêter dans cette div, quelque chose comme ceci (code concept non testé):
Votre réponse est similaire à celle de Daniel
Ouais - on dirait que nous devions tous les deux avoir commenté la même minute exacte :)
Thomas mentionné "Stridedown (numberfmilliseconds)". Je l'ai essayé et JQuery's Doc définit la vitesse en millisecondes est le temps nécessaire pour exécuter l'amimation. P>
Dans ce cas, 1 ligne ou 10 lignes prendront la même quantité de temps pour glisser. Si vous connaissez le nombre de lignes, vous pouvez peut-être ajouter un multiplicateur, par exemple. SDITEDOWN (LINECOUNT * SPEEDINMS) P>
Une ride sur la réponse de Daniel Sloof:
div.fadeOut('fast', function() { div.html(html); div.fadeIn('fast'); }
Le problème est-il "trop rapide", ou vous voulez vraiment glisser la ligne en ligne par ligne?
Le problème est qu'il est trop rapide