这个问题一直困扰着我,我不确定是什么原因造成的。
我有两个简短的jquery代码,它们可以动画显示滚动到网站上的不同部分,其中之一是“返回页首”代码。
$('html, body').animate({
scrollTop: 0
}, 1000);
另一个类似,只是它根据索引的不同部分进入
$('html, body').animate({
scrollTop: $('section').eq(index).offset().top
}, 1000);
其中“索引”的范围是0到5(0是第一个部分,5是最后一个部分)。
除非我在菜单中使用指向锚点的链接(例如,#about),否则一切正常 我认为问题出在动画上,所以我将其删除并重新编写了以下两个代码”
$('html, body').scrollTop(0);
$('html, body').scrollTop($('section').eq(id).offset().top);
那不能解决我的问题。每当我单击锚链接时,浏览器将停止响应scrollTop代码。
我什至尝试拦截任何链接以自行控制滚动。我尝试了一下,只要单击任何哈希链接即可简单地滚动回到顶部,以查看问题是否出在我有关“节”的代码中。不。单击哈希链接后,即使scrollTop(0)也不起作用。
$('a').click(function(e) {
var hashTag = this.href.split('#')[1];
if (hashTag) {
e.preventDefault();
setTimeout(function() {
$('html, body').scrollTop(0);
}, 2000);
}
});
即使那没有用。因为我要链接到锚点,所以任何试图更改scrollTop的代码都将变得无用。
有人知道为什么吗,更好的问题是我该如何解决?
谢谢