Jquery slideToggle()到一定的高度?

时间:2015-08-05 08:54:41

标签: javascript jquery html css

我尝试过以下编码来上下滑动我的div:

$("#toggle").click(function(e) {
    e.preventDefault();
    $("#numbers").slideToggle();
});

我们如何让它只滑到某个高度,例如我的div的一半?

3 个答案:

答案 0 :(得分:2)

你不能通过slideToggle功能来做到这一点。但你可以使用animate function.here plunker

单击按钮时。一个类名 toggled 被添加到你的div(id numbers ),并且它的高度缩小到100px。当再次点击按钮时。因为你的div已经切换类,它的高度变为200px并且切换类从中移除。

   $("#toggle").click(function(e) {
     e.preventDefault();
      if($("#numbers").hasClass("toggled")) {
         $("#numbers").animate({"height": "200px"}).removeClass("toggled");
      } else {
        $("#numbers").animate({"height": "100px"}).addClass("toggled");
      }
   });

答案 1 :(得分:1)

您可以使用CSS和addClass:

 $("#toggle").click(function(e) {
     e.preventDefault();
     $("#numbers").slideToggle().addClass('height50');
 });

这是小提琴:http://jsfiddle.net/fv8ta0q8/

答案 2 :(得分:0)

尝试使用.css()来确定元素是否隐藏(如果其高度=“100px”或“0px”),然后设置高度动画:

$("#toggle").click(function(e) {
    e.preventDefault();
    if ($("#numbers").css("height") == "0px") {
        $("#numbers").animate({"height": "200px"}, 800);
    }
    else if ($("#numbers").css("height") == "200px") {
        $("#numbers").animate({"height": "0px"}, 800);
    }
});

https://jsfiddle.net/jofish999/d6pr2sop/