【发布时间】:2015-05-27 17:16:19
【问题描述】:
我正在尝试使用 jquery 切换导航容器/div。
我有以下代码
style.css
#site-navigation {
position: fixed;
bottom: 45px;
left: 30px;
right: 30px;
top: 50px;
}
.main-nav-toggle {
display: none;
position: fixed;
bottom:0;
right:0;
z-index: 100;
}
.main-nav-toggle .icon {
background: gray;
color: white;
font-size: 30px;
cursor: pointer;
padding: 5px 10px;;
line-height: 1;
display: inline-block;
border: 2px solid black;
border-radius: 5px;
}
和 home.html
<div id="site-nav-container">
<div class="main-nav-toggle">
<div class="toggle icon"><i class="fa fa-bars"></i></div>
<a href="#site-navigation" class="screen-reader-text">primary-menu</a>
</div>
<nav id="site-navigation" class="main-navigation" role="navigation">
<div class="menu-test-container">
<ul id="primary-menu" class="menu">
<li id="menu-item-1776" class="1776">
<a href="#">Level 1</a>
<ul class="sub-menu">
<li id="menu-item-1778" class="item-1778">
<a href="#">Level 2a</a>
<ul class="sub-menu">
<li id="menu-item-1780" class="item-1780">
<a href="#">Level 3a</a>
</li>
<li id="menu-item-1779" class="item-1779">
<a href="#">Level 3b</a>
</li>
</ul>
</li>
<li id="menu-item-1777" class="item-1777">
<a href="#">Level 2b</a>
</li>
</ul>
</li>
</ul>
</div>
</nav> <!--#site-navigation-->
</div>
main-toggle.js
jQuery(document).ready(function($){
$(".main-nav-toggle .icon").click(function(){
$("#site-navigation").animate({height: 'toggle'}, 1000, function(){
$('.main-nav-toggle').toggleClass('active');
});
return false;
});
});
几乎可以按预期工作。
它应该有这样的功能 所以容器会从下往上更高。 但仍然在距离顶部 50px 处停止
这是我的第一个 jquery 代码
请客气
【问题讨论】:
-
所以你想让菜单在你按下按钮时从底部向上动画?如果您为高度设置动画,它将向下而不是向上设置动画。你能做一个小提琴或 plunkr 来演示这个问题吗
-
这里是一个带有代码link 的活动域的链接,您必须将浏览器的宽度调整到 480 像素以下才能看到带有 .js 的导航栏功能,但是是的,我想要当我按下按钮时菜单从底部向上动画我可以在小提琴上工作需要一些时间以前没有做过
-
既然我已经看到了现场示例,您就不需要做任何事情了。动画高度不足以完成这项工作。您必须为高度和顶部值设置动画以使菜单保持在原位。这样菜单会变小,但它的底部会保持在同一个地方。我会尝试做一个简单的 plunkr 并发布答案
标签: jquery html css animation navigation