Javascript Jquery动画方法不';在某些情况下我们不能跑步
我正在使用jQuery的动画方法创建平滑的滚动效果,使导航栏的链接滚动到主页上的特定位置。。。万一我说的有点混乱 下面是我用来实现这一效果的一点javascript:Javascript Jquery动画方法不';在某些情况下我们不能跑步,javascript,jquery,html,Javascript,Jquery,Html,我正在使用jQuery的动画方法创建平滑的滚动效果,使导航栏的链接滚动到主页上的特定位置。。。万一我说的有点混乱 下面是我用来实现这一效果的一点javascript: $(document).ready(function(){ $('a[href^="/#"]').on('click',function (e) { e.preventDefault(); var target = this.hash; $target = $(target); $('h
$(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>
无论如何,当我键入url并直接导航到domain.com
时,滚动功能非常有效。我可以向下滚动到“关于我们”部分(或任何其他部分),然后单击我们的主页按钮返回页面顶部
当我使用“主页”按钮从网站上的其他页面导航到主页时,问题就出现了。比如说,我在domain.com/other_page
,我点击home按钮回到domain.com
的主页。主页已加载,但用于滚动的javascript不起作用。只有我刷新一次,它才能再次工作;那么一切都好了
不管怎样,如果问题有点复杂,我很抱歉。在此问题上的任何帮助都将不胜感激。这应该是什么:
target-$('.navbar').height()代码>?你在从字符串中减去一个数字?@jfriend00谢谢你的回复。这样可以防止潜水器爬到导航栏下面,这对我来说毫无意义。您正在尝试这样做window.location.hash=“#home”-20代码>