我一直在使用Twitter Bootstrap Scrollspy插件,但对于我的生活,我无法让它工作。这是内容区域的HTML
<div data-spy="scroll" >
<section id="page_home" class="page_home" style="width:100%;background-color:rgb(245,245,245);">
<div class="container">
Home
</div>
</section>
<section id="page_projects" class="page_projects" style="width:100%;background-color:rgb(25,25,25);">
<div class="container">
Projects
</div>
</section>
<section id="page_services" class="page_services" style="width:100%;background-color:rgb(245,245,245);">
<div class="container">
Services
</div>
</section>
<section id="page_downloads" class="page_downloads" style="width:100%;background-color:rgb(25,25,25);">
<div class="container">
Downloads
</div>
</section>
<section id="page_about" class="page_about" style="width:100%;background-color:rgb(245,245,245);">
<div class="container">
About
</div>
</section>
<section id="page_contact" class="page_contact" style="width:100%;background-color:rgb(25,25,25);">
<div class="container">
Contact
</div>
</section>
</div>
这是导航栏的HTML代码
<div id="navbar" class="navbar navbar-inverse navbar-fixed-bottom">
<div class="navbar-inner">
<div class="container">
<ul class="nav">
<li><a href="#page_home">Home</a></li>
<li><a href="#page_projects">Projects</a></li>
<li><a href="#page_services">Services</a></li>
<li><a href="#page_downloads">Downloads</a></li>
<li><a href="#page_about">About</a></li>
<li><a href="#page_contact">Contact</a></li>
</ul>
</div>
</div>
</div><!-- /.navbar -->
我看了一些其他帖子,但是对于我的生活,我无法弄清楚为什么它只被选中导航栏中的最后一项。
有谁可以帮我弄清楚为什么scrollspy只选择最后一项以及如何纠正它?
答案 0 :(得分:8)
将HTML doctype声明添加到页面顶部为我修复了它:
<!DOCTYPE html>
答案 1 :(得分:2)
这是你想要监视的body
。
而不是
<div data-spy="scroll" >
使用
<body data-spy="scroll" data-target="#navbar">
答案 2 :(得分:1)
试试这段代码:
$('[data-spy="scroll"]').each(function () {
var $spy = $(this).scrollspy('refresh')
});
我遇到过类似的问题。我已使用上面的代码解决了这个问题。
答案 3 :(得分:0)
快速查看the documentation for ScrollSpy,您似乎错过了data-target
。
在你的情况下,你的第一行是:
<div data-spy="scroll" data-target="#navbar">