简体   繁体   English

固定div上的jQuery slideUp,slideDown高度错误

[英]Jquery slideUp, slideDown height bug on fixed div

When I slideUp() or slideDown() fixed div, it jumps. 当我用slideUp()或slideDown()固定div时,它会跳转。

I have read that it is height problem, but could not solve it. 我已经读到它是高度问题,但无法解决。 Maybe there is something I can do with padding? 也许我可以做一些填充工作?

Need some help :) 需要一些帮助 :)

http://jsfiddle.net/sirjay/08ypLtp2/ http://jsfiddle.net/sirjay/08ypLtp2/

#tab-menu {
  text-align: center;
  padding-right: 40px;
  position: fixed;
  bottom: 0;
  width: 100%;
  margin-bottom: 0;
}

li {
    padding: 15px;
    display: inline-block;
    margin: 0 10px;
    width: 110px;
    background-color: lightblue;
}

.t-hidden {
    display: none;
    padding: 10px;
}


$(function() {
    $('#tab-menu li > a').click(function(e) {
        e.preventDefault();
        var x = $(this).closest('li').find('.t-hidden');
        if (x.is(':visible')) {
            x.slideUp();
        } else {
            x.slideDown();
        }
    });
});


<ul id="tab-menu">
  <li>
    <a href="#" class="btn">First</a>
    <div class="t-hidden">
      Hidden 1
    </div>
  </li>
  <li>
    <a href="#" class="btn">Second</a>
    <div class="t-hidden">
      Hidden 2
    </div>
  </li>
  <li>
    <a href="#" class="btn">Third</a>
    <div class="t-hidden">
      Hidden 3
    </div>
  </li>
</ul>

Just add a height and a width to animate smoothly each element you apply slideUp() or slideDown() to. 只需添加一个高度和一个宽度,即可为要应用slideUp()或slideDown()的每个元素设置平滑的动画。

li {
    padding: 15px;
    display: inline-block;
    margin: 0 10px;
    width: 110px;
    height:90px;
    background-color: lightblue;
}

DEMO http://jsfiddle.net/a_incarnati/08ypLtp2/3/ 演示 http://jsfiddle.net/a_incarnati/08ypLtp2/3/

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM