javascript - 使 slideUp 和 slideDown 在 Bootstrap 导航栏上工作

标签 javascript jquery html css twitter-bootstrap

我希望 jQuery 的 slideUpslideDown 方法在 Bootstrap 的导航栏上顺利运行。但是当我测试它时,当应用 slideUp 方法时,导航栏只向上滑动了它的一小部分,然后立即消失了,同样去了 slideDown,只是在相反的方向。为什么会出现这种情况,如何让动画流畅运行?

片段如下。

$('.slideUpBtn').click(function() {
  $('nav').slideUp("slow");
});
$('.slideDownBtn').click(function() {
  $('nav').slideDown("slow");
});
.slideUpBtn {
  position: fixed;
  left: 0;
  bottom: 0;
}
.slideDownBtn {
  position: fixed;
  right: 0;
  bottom: 0;
}
<html>

<head>
  <title>temp</title>
  <script src="https://code.jquery.com/jquery-2.2.2.min.js"></script>
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" />
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
</head>

<body>
  <nav class="navbar navbar-default">
    <div class="container-fluid">
      <div class="navbar-header"><a href="#" class="navbar-brand">Brand</a>
      </div>
    </div>
  </nav>
  <button type="button" onclick="slideUp_event()" class="slideUpBtn">slideUp</button>
  <button type="button" onclick="slideDown_event()" class="slideDownBtn">slideDown</button>
</body>

</html>

最佳答案

这是因为 nav 元素具有 CSS 属性“min-height: 50px;”来自类导航栏,方法 slideUp 和 slideDown 增加和减少高度属性,因此当高度低于最小高度时,它将被忽略。

您可以覆盖最小高度或更改按钮功能,如下所示:

 $('.slideUpBtn').click(function() {
   var minHeight = $('nav').css('min-height');
   $('nav').css('min-height',0);
   $('nav').slideUp("slow", function(){
            $('nav').css('min-height', minHeight);
    });
});
$('.slideDownBtn').click(function() {
     var minHeight = $('nav').css('min-height');
   $('nav').css('min-height',0);
  $('nav').slideDown("slow", function(){
            $('nav').css('min-height', minHeight);
    });
});

关于javascript - 使 slideUp 和 slideDown 在 Bootstrap 导航栏上工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36382252/

相关文章:

html - 重叠在 div 下方的动态调整大小图像

javascript - 用于对列表中的项目进行排序的旧 javascript

javascript - 如果从另一个 session 打开,弹出窗口将被替换

javascript - 带有 jquery 多选插件的 Angular js

jquery - Textarea 和 Custom Scrollbar - jQuery 自定义内容滚动条

javascript - 通过 Ajax 调用顺序运行两个函数

html - 媒体查询不起作用

javascript - 在 JavaScript/jQuery 中,是否有一种更短的方法可以在同一测试变量上编写带有多个 OR 的 'if' 语句?

javascript - 为什么我不能从 Koa 路由器提供静态文件?

javascript - 使用 JSON.parse 的 JSON 到 HTML 未定义错误