我使用jQuery的动画方法创建平滑的滚动效果,使导航栏的链接滚动到主页上的特定位置。 ......如果对我所谈论的内容感到困惑,here's a better description.
以下是我用来实现此效果的一点点javascript:
$(document).ready(function(){
$('a[href^="/#"]').on('click',function (e) {
e.preventDefault();
var target = this.hash;
$target = $(target);
$('html, body').stop().animate({
'scrollTop': $target.offset().top-$('.navbar').height()
}, 1000, 'swing', function () {
window.location.hash = target-$('.navbar').height();
});
});
});
我们的主页按钮是:
<a class="navbar-brand" href="/#home_top"></a>
我们关于我们的链接是:
<a href="/#about">About</a>
无论如何,当我只输入网址并直接导航到domain.com
时,滚动功能效果很好。我可以向下滚动到&#34;关于我们&#34;部分(或任何其他),然后单击我们的主页按钮返回页面顶部。
问题出现。比方说,我在domain.com/another_page
,然后点击主页按钮返回domain.com
的主页。主页加载但滚动的javascript不起作用。只有一次我刷新它再次工作;一切都很好。
无论如何,如果问题有点复杂,那就很抱歉。任何有关此事的帮助将不胜感激。