使引导区导航栏在滚动时折叠
Make Bootstrap navbar collapse on scroll?
我正试图让我的Bootstrap导航栏在其非折叠状态&当我在普通桌面版本上滚动经过它时,它处于移动/折叠状态。
我曾尝试过使用jQuery,但这迫使我编写css更改,这些更改会导致jQuery中的一行一行地折叠,滚动顶端>像素数。
即使我做了上述操作,不幸的是,即使移动导航栏会出现,菜单选项也会一直在那里,点击汉堡时不会关闭。
我忍不住想肯定有一种更简单的方法可以做到这一点,但我对Bootstrap很陌生。
提前谢谢。
编辑,这是我尝试过的代码:
这个CSS导致导航栏在高级点切换到移动版本,我希望它:
@media (max-width: 1150px){
.navbar-header {
float: none;
}
.navbar-toggle {
display: block;
}
.navbar-collapse {
border-top: 1px solid transparent;
box-shadow: inset 0 1px 0 rgba(255,255,255,0.1);
}
.navbar-collapse.collapse {
display: none!important;
}
.navbar-nav {
float: none!important;
margin: 7.5px -15px;
}
.navbar-nav>li {
float: none;
}
.navbar-nav>li>a {
padding-top: 10px;
padding-bottom: 10px;
}
.navbar-text {
float: none;
margin: 15px 0;
}
/* since 3.1.0 */
.navbar-collapse.collapse.in {
display: block!important;
}
.collapsing {
overflow: hidden!important;
}
.navbar-static-top {
position: fixed;
top: 0;
left: 0;
width: 100%;
margin: 0;
}
以下是我用来尝试在滚动超过50像素后将css应用于桌面标题的快速代码:
$(document).ready(function(){
var $document = $(document);
$document.scroll(function() {
if ($document.scrollTop() >= 50) {
/*$('.navbar-header').css('float', 'none');
$('.navbar-toggle').css('display', 'block');
$('.navbar-collapse').css('border-top', '1px solid transparent');
$('.navbar-collapse').css('box-shadow', 'inset 0 1px 0 rgba(255,255,255,0.1)');
$('.navbar-collapse.collapse').css('display', 'none !important');
$('.navbar-nav').css('float', 'none !important');
$('.navbar-nav').css('margin', '7.5px -15px');
$('.navbar-nav>li').css('float', 'none');
$('.navbar-nav>li>a').css('padding-top', '10px');
$('.navbar-nav>li>a').css('padding-bottom', '10px');
$('.navbar-text').css('float', 'none');
$('.navbar-text').css('margin', '15px 0');
$('.navbar-collapse.collapse.in').css('display', 'block !important');
$('.collapsing').css('overflow', 'hidden!important');
$('.navbar-static-top').css('position', 'fixed');
$('.navbar-static-top').css('top', '0');
$('.navbar-static-top').css('left', '0');
$('.navbar-static-top').css('width', '100%');
$('.navbar-static-top').css('margin', '0');*/
} else {
}
});
});
我也在做这件事,以使汉堡按钮在滚动中显示。看起来你很接近,但你可以更容易地完成以下操作。
在您的main.js中(在common中),在卷轴上添加一个类:
$(".navbar").on('affixed.bs.affix', function(){
$('.navbar').addClass('navbar-collapsed');
});
当导航返回顶部时删除类:
$(".navbar").on('affixed-top.bs.affix', function(){
$('.navbar').removeClass('navbar-collapsed');
});
然后添加你对该类的sass:
.navbar-collapsed{
.navbar-header {
float: none;
}
.navbar-toggle {
display: block;
}
.navbar-collapse.collapse {
display: none!important;
}
.navbar-nav {
float: none!important;
margin: 7.5px -15px;
}
.navbar-nav>li {
float: none;
}
.navbar-nav>li>a {
padding-top: 10px;
padding-bottom: 10px;
}
.navbar-text {
float: none;
margin: 15px 0;
}
/* since 3.1.0 */
.navbar-collapse.collapse.in {
display: block!important;
}
.collapsing {
overflow: hidden!important;
}
.navbar-static-top {
position: fixed;
top: 0;
left: 0;
width: 100%;
margin: 0;
}
}
相关文章:
- 如何防止我的引导可折叠框滚动页面
- 使引导区导航栏在滚动时折叠
- 引导程序导航栏未使用平滑滚动脚本折叠
- extjs 3.4 滚动条在面板折叠时消失
- D3 可折叠树:树的可滚动容器
- 我如何才能获得具有响应和滚动折叠的水平滚动
- jQuery滚动到可折叠的结束位置
- 当页面上不再有可折叠的页眉时,我可以让我的固定页眉滚动吗
- 引导程序导航栏在滚动时折叠
- 导航栏在移动上折叠,滚动chrome/safari
- 当用户向下滚动时,在折叠下方启动Flash横幅
- 在滚动时折叠导航,但在使用页面锚点时也会开始折叠
- 如何在折叠后自动滚动到页面底部?
- 向下滚动后,顶部图像折叠到导航栏中
- 扩展和折叠基础6手风琴菜单上滚动与麦哲伦
- 如何使滚动折叠导航导航条固定顶部
- 防止窗口在折叠下方滚动,直到按钮单击
- 如何使用Jquery滚动到可折叠面板元素的顶部
- 折叠并展开滚动
- 替换图像在折叠固定头(滚动)- javascript