Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery subnav条因twitter引导而崩溃_Jquery_Css_Twitter Bootstrap - Fatal编程技术网

Jquery subnav条因twitter引导而崩溃

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"><

我正在使用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"></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我在回答中添加了此问题的解决方案。您好!