引导添加使用scrollspy和固定导航
问题描述:
抵消我已经建立了与scrollspy和平滑滚动固定导航:引导添加使用scrollspy和固定导航
HTML
<body data-spy="scroll" data-target=".navbar-collapse">
<!-- ---------- Navigation ---------- -->
<div class="navbar navbar-fixed-top" role="navigation">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="sr-only">Toggle navigation</span>
</button>
<a class="navbar-brand" href="index.html"> <img src="http://placehold.it/200x50"></a>
</div>
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav navbar-right">
<li class="active"><a href="#home">Home</a></li>
<li><a href="#works">Works</a></li>
<li><a href="#about">About</a></li>
<li><a href="#timeline">Timeline</a></li>
<li><a href="#contact">Contact</a></li>
</ul>
</div><!--/.nav-collapse -->
</div>
</div>
<!-- ---------- /Navigation ---------- -->
JS
$(".navbar-nav li a[href^='#']").on('click', function(e) {
e.preventDefault();
var hash = this.hash;
$('html, body').animate({
scrollTop: $(this.hash).offset().top
}, 1000, function(){
window.location.hash = hash;
});
});
这个伟大的工程,不幸的是它滚动没有任何偏移量(我的导航高度为80px)。我试图添加“数据偏移量= 80”,但这没有做任何事情。我不太知道我要加入到JS,既然你有一个导航栏,固定顶,你需要手动设置的偏移,使这项工作:(
答
。尝试
$("body").scrollspy({offset: 80});
的回答[这个问题](http://*.com/questions/9288482/how-do-i-set-the-offset-for-scrollspy-in-bootstrap?rq=1)可能会帮助你。 – mongol
试试这个教程与CSS技巧,没有JavaScript:https://css-tricks.com/hash-tag-links-padding/ –