我创建了一个位于bootstrap导航栏下的自定义“subnavbar”。它基于wrapbootstrap的代码。
我想使用scrolltop启用平滑滚动。我有以下Javascript:
$(document).ready(function(e) {
$('#subnav').bind('click', function(e) {
e.preventDefault();
$('html,body').animate({scrollTop: $(this.hash).offset().top});
});
});
然而,我似乎无法使其发挥作用。我使用了错误的#参考吗?这是一个bootply:http://bootply.com/62720
下面的HTML代码段:
<!-- Subnav bar -->
<div class="subnav subnav-fixed">
<ul class="nav nav-pills">
<li><a href="#overview">Overview</a></li>
<li><a href="#opening-hours">Opening hours</a></li>
</ul>
</div>
<section id="Overview">
<h3>OVERVIEW</h3>
由于
答案 0 :(得分:1)
非常简单容易让“#subnav”成为“.subnav a”的错误首先是因为subnav是类,其次是因为你希望点击绑定到链接
答案 1 :(得分:1)
这样的东西会起作用。当没有offset()
时,这将设置为0
$('.subnav li a').bind('click', function(e) {
e.preventDefault();
var hashTag = this.hash;
var top = 0;
if ($(hashTag).offset()) {
top = $(hashTag).offset().top
}
$('html, body').animate({scrollTop:top}, 'slow');
});
以下是更新:http://bootply.com/62723