Jquery subnav条因twitter引导而崩溃
我正在使用twitter引导,我的导航栏可以很好地使用折叠功能 这是我的html代码:Jquery subnav条因twitter引导而崩溃,jquery,css,twitter-bootstrap,Jquery,Css,Twitter Bootstrap,我正在使用twitter引导,我的导航栏可以很好地使用折叠功能 这是我的html代码: <div class="subnav"> <ul class="nav nav-pills"> <li class="dropdown"> <a href="#" data-toggle="dropdown" class="dropdown-toggle">Buttons <b class="caret"><
<div class="subnav">
<ul class="nav nav-pills">
<li class="dropdown">
<a href="#" data-toggle="dropdown" class="dropdown-toggle">Buttons <b class="caret"></b></a>
<ul class="dropdown-menu">
<li class=""><a href="#buttonGroups">Button groups</a></li>
<li class=""><a href="#buttonDropdowns">Button dropdowns</a></li>
</ul>
</li>
<li class="dropdown">
<a href="#" data-toggle="dropdown" class="dropdown-toggle">Navigation <b class="caret"></b></a>
<ul class="dropdown-menu">
<li class=""><a href="#navs">Nav, tabs, pills</a></li>
<li class=""><a href="#navbar">Navbar</a></li>
<li class=""><a href="#breadcrumbs">Breadcrumbs</a></li>
<li class=""><a href="#pagination">Pagination</a></li>
</ul>
</li>
<li class=""><a href="#labels">Labels</a></li>
<li class=""><a href="#badges">Badges</a></li>
<li class=""><a href="#typography">Typography</a></li>
<li class=""><a href="#thumbnails">Thumbnails</a></li>
<li class=""><a href="#alerts">Alerts</a></li>
<li><a href="#progress">Progress bars</a></li>
<li><a href="#misc">Miscellaneous</a></li>
</ul>
</div>
$(document).scroll(function(){
// If has not activated (has no attribute "data-top"
if (!$('.subnav').attr('data-top')) {
// If already fixed, then do nothing
if ($('.subnav').hasClass('subnav-fixed')) return;
// Remember top position
var offset = $('.subnav').offset()
$('.subnav').attr('data-top', offset.top);
}
if ($('.subnav').attr('data-top') - $('.subnav').outerHeight() <= $(this).scrollTop())
$('.subnav').addClass('subnav-fixed');
else
$('.subnav').removeClass('subnav-fixed');
});
这是我的js代码:
<div class="subnav">
<ul class="nav nav-pills">
<li class="dropdown">
<a href="#" data-toggle="dropdown" class="dropdown-toggle">Buttons <b class="caret"></b></a>
<ul class="dropdown-menu">
<li class=""><a href="#buttonGroups">Button groups</a></li>
<li class=""><a href="#buttonDropdowns">Button dropdowns</a></li>
</ul>
</li>
<li class="dropdown">
<a href="#" data-toggle="dropdown" class="dropdown-toggle">Navigation <b class="caret"></b></a>
<ul class="dropdown-menu">
<li class=""><a href="#navs">Nav, tabs, pills</a></li>
<li class=""><a href="#navbar">Navbar</a></li>
<li class=""><a href="#breadcrumbs">Breadcrumbs</a></li>
<li class=""><a href="#pagination">Pagination</a></li>
</ul>
</li>
<li class=""><a href="#labels">Labels</a></li>
<li class=""><a href="#badges">Badges</a></li>
<li class=""><a href="#typography">Typography</a></li>
<li class=""><a href="#thumbnails">Thumbnails</a></li>
<li class=""><a href="#alerts">Alerts</a></li>
<li><a href="#progress">Progress bars</a></li>
<li><a href="#misc">Miscellaneous</a></li>
</ul>
</div>
$(document).scroll(function(){
// If has not activated (has no attribute "data-top"
if (!$('.subnav').attr('data-top')) {
// If already fixed, then do nothing
if ($('.subnav').hasClass('subnav-fixed')) return;
// Remember top position
var offset = $('.subnav').offset()
$('.subnav').attr('data-top', offset.top);
}
if ($('.subnav').attr('data-top') - $('.subnav').outerHeight() <= $(this).scrollTop())
$('.subnav').addClass('subnav-fixed');
else
$('.subnav').removeClass('subnav-fixed');
});
$(文档)。滚动(函数(){
//如果未激活(没有“数据顶部”属性)
if(!$('.subnav').attr('data-top')){
//如果已经修复,则不执行任何操作
if($('.subnav').hasClass('subnav-fixed'))返回;
//记住最高的位置
变量偏移量=$('.subnav').offset()
$('.subnav').attr('data-top',offset.top);
}
如果($('.subnav').attr('data-top')-$('.subnav').outerHeight()如果存在此问题,可以通过以下方法解决此问题:
在javascript文件中必须添加以下jquery代码:
//subnav config
$(function(){
var $win = $(window);
var $nav = $('.subnav');
var navTop = $('.subnav').length && $('.subnav').offset().top - 38;
var isFixed = 0;
processScroll();
$win.on('scroll', processScroll);
function processScroll() {
console.log('test');
var i, scrollTop = $win.scrollTop();
if (scrollTop >= navTop && !isFixed) {
isFixed = 1;
$nav.addClass('subnav-fixed');
} else if (scrollTop <= navTop && isFixed) {
isFixed = 0;
$nav.removeClass('subnav-fixed');
}
};
})
如果此代码对您有效,请接受答案并对此回复给予积极反馈。我希望对您有所帮助
非常感谢。您能提供一些代码吗?现场演示最好,但至少为您的菜单提供html和css。看不到任何代码,您只能猜测。谢谢Jrod,我已经添加了html、css和js代码:D@Jrod我在回答中添加了此问题的解决方案。您好!