0

我正在使用引导程序,并且我有一个带有引导程序的 scrollspy 页面。我无法将 scrollspy 添加到其他页面,因为我的链接意外触发。是否可以使用简单的 jQuery 函数来添加:

data-spy="scroll"以及data-target=".subnav"该特定页面加载的页面正文。

将滚动间谍添加到 adiv="span12"似乎不起作用,但是,该功能在放置在 body 上时确实有效。

如果其他人有使用此方法或其他方法的简单解决方案,请告诉我。

这是我目前的代码:

<body> <!-- Add it here to make it work -->
 <div class="span12" style="background: #fff;"> <!-- OR add it here and see if it works, if so then I can avoid the function all together. -->
  <div class="span11">
  <header>
     <h1>TITLE</h1>
     <h3>The full history of..<small>By Jane Doe</small></h3>
     <div class="subnav">
       <ul class="nav nav-pills">
       <li class="active"><a href="#overview">Introduction</a></li>
       ...
       </ul>
  </div>
  </header>

  <section id="overview"></section>
  <section id....
 </div>
</div>

我用来修复 topnav 的脚本:

$(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');
});

$('#navbar').scrollspy();

4

1 回答 1

2

尝试

$(document).load(function() {
    $('body').attr('data-spy', 'scroll').attr('data-target', '.subnav');
});
于 2012-04-25T20:29:55.923 回答