J'essaie de faire descendre un div (animation visible) avec jquery. L'animation n'est pas lisse et saute à la fin.jQuery SlideDown saute dans Bootstrap 3 row
<div class="container">
<div class="row">
<ul class="items">
<li class="item col-sm-4">as</li>
<li class="item col-sm-4">sdf</li>
<li class="item col-sm-4">sdf</li>
<li class="item col-sm-4">as</li>
<li class="item col-sm-4">sdf</li>
<li class="item col-sm-4">sdf</li>
</ul>
<ul class="more-items">
<li class="item col-sm-4">as</li>
<li class="item col-sm-4">sdf</li>
<li class="item col-sm-4">sdf</li>
</ul>
</div
<div class="row">
<a id="show-more-btn" class="show-more-items">
<i class="glyphicon glyphicon-plus"></i>
<span class="text">Vis flere</span>
</a>
</div>
</div>
C'est un problème bien connu, car jquery ne connaît pas la hauteur de l'élément à animer. J'ai donc fait une fonction sur le document "prêt" pour calculer la hauteur de l'élément coulissant avant de se cacher.
$(document).ready(function() {
$('.more-items').css('height',function(i,h){
alert(h);
$(this).hide();
return h;
});
$("#show-more-btn").on("click", function(e) {
e.preventDefault();
$(".more-items").slideDown();
});
});
Cela fonctionne parfaitement, mais lorsque l'élément est à l'intérieur d'une grille de BS3 rangée la hauteur est toujours 0px ...
Pourquoi est-ce et comment puis-je faire en sorte que l'élément a une hauteur à l'intérieur de la grille BS ?
Je ne peux pas utiliser la fonction BS "collapse()" car je ne peux pas charger le fichier BS js sur le site sur lequel je travaille. Faites glisser la fenêtre suffisamment large pour voir les 3 colonnes. EXEMPLE
EXEMPLE
https://jsfiddle.net/vn1z6z9L/.
Je ne ai pas besoin slideToggle(), je ne ai besoin slideDown. Dans votre exemple, slideDown saute toujours !! – olefrank
pour des raisons de connaissance, qu'est-ce que vous essayez d'atteindre, qu'est-ce que cela veut dire par «slideDown jump»? – Sachin
Si vous développez la fenêtre de votre jsfiddle, vous verrez la liste se décomposer en trois colonnes. C'est la grille Bootstrap. Ensuite, vous cliquez sur le bouton Afficher plus pour faire glisser la liste vers le bas. À la toute fin de la diapositive, l'animation n'est pas lisse. Il va un peu trop bas et se remet en place. C'est ce que je veux dire! – olefrank