[英]make slideUp and slideDown work on bootstrap navbar
我希望jQuery的slideUp
和slideDown
方法在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;”。 從navbar類以及方法slideUp和slideDown可以增加和減少height屬性,因此當height低於min-height時,它將被忽略。
您可以按以下方式覆蓋最小高度或更改按鈕功能:
$('.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);
});
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.