引导导航贴上W /动画(了slideDown /效果基本show)
想要创建一个行为像上http://www.invisionapp.com/引导导航贴上W /动画(了slideDown /效果基本show)
下面的代码会导致我的导航栏上的NAV导航穿越data-offset-top
位置(而向下滚动页面后滑下),但我不知道如何在穿过data-offset-top
的位置时向上滑动导航(同时滚动页面)。
$('#navigation').on('affixed.bs.affix',function(){ $(this).height('75');
$(this).slideDown(200);
});
没有任何人有工作方式类似于http://www.invisionapp.com/一个导航工作小提琴?谢谢!
回答:
我试图用Bootstrap 3词缀实现相同的功能,但没有成功。所以,不要使用Bootstrap词缀来创建自定义粘性导航。
在我的方案中,通过滚动达到特定像素偏移量后应该变为粘滞的导航。在到达点之前,导航是隐藏的。当它显示时,它从顶部滑动。当我向后滚动时,它会从屏幕滑到顶部。
HTML部分
添加任何内容进入格,我有一个标志,并在那里的主要导航。
<div id="menu-bar"></div>
CSS部分
我使用CSS3过渡,因为它们是well supported(除了IE < = 9)和它们的动画适合所期望的效果最大,方式优于jQuery的动画()。在达到偏移量后继续滚动以开始动画时,jQuery animate()效果会减慢。使用CSS3,不需要停止滚动以使动画流畅并且其效果仍然是即时的。
#menu-bar { position: fixed;
top: -200px;
width: 100%;
transition: top 0.5s ease 0s;
-webkit-transition: top 0.5s ease 0s;
-moz-transition: top 0.5s ease 0s;
-o-transition: top 0.5s ease 0s;
}
JavaScript部分
我使用jQuery,也许你可以没有它,但它会比这个解决方案要复杂得多。无论如何,你都使用jQuery作为Bootstrap。
var $document = $(document), $element = $('#menu-bar');
$document.scroll(function() {
if ($document.scrollTop() >= 850) {
$element.stop().css({
top: '0px'
});
} else {
$element.stop().css({
top: '-200px'
});
}
});
JSFiddle看到它在行动!我添加了一些样式,以便可以轻松看到粘性元素。
以上是 引导导航贴上W /动画(了slideDown /效果基本show) 的全部内容, 来源链接: utcz.com/qa/260492.html