我使用bootstrap,并且我有一个带有自举的scrollspy页面。我无法将scrollspy添加到其他页面,因为我的链接意外触发。是否可以使用简单的jQuery函数来添加:
data-spy="scroll"
和data-target=".subnav"
到该特定网页加载页面正文。
向a div="span12"
添加滚动间谍似乎不起作用,但是,当放置在身体上时,该功能确实有效。
如果其他人有一个简单的解决方案来使用这个或其他方法,请告诉我。
这是我目前的代码:
<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();
答案 0 :(得分:2)
尝试
$(document).load(function() {
$('body').attr('data-spy', 'scroll').attr('data-target', '.subnav');
});