【发布时间】:2016-01-31 09:33:42
【问题描述】:
我在 Google 上搜索了如何平滑滚动到不同页面上的锚点。我已经尝试了一些方法,但是,它们似乎不适用于我已经编写的代码,该代码可以在一页上平滑滚动。
基本上,我已将我的联系人部分锚定在索引页面上,并希望我的其他页面在我单击导航栏上的联系人链接时平滑滚动到该部分。但目前它所做的只是直接跳到锚点而不从顶部滚动。
这是我的代码:
$(document).ready(function() {
$('a[href^="#"]').not("#quote-carousel a, ul.nav-pills a, div#accordian a").on("click", function(a) {
a.preventDefault();
var b = this.hash,
c = $(b);
$("html, body").stop().animate({
scrollTop: c.offset().top - 50
}, 900, "swing", function() {
window.location.hash = b
})
})
});
【问题讨论】:
-
您能否用最少的代码创建一个 jsfiddle 来说明您的问题? animate scrollTop 应该可以解决这个问题 AFAIK
-
我目前没有发现您的代码存在问题。它正在做它应该做的事情:jsfiddle.net/536Lmzuv 唯一的问题可能是您是否有以前的 JS 错误或未包含 jQuery 脚本文件。
-
console中是否有任何错误? -
是的,它适用于单页滚动,但是当我在另一个页面上并单击导航栏上的联系人链接时,它会直接跳转到索引页面上的锚点,而无需从顶部滚动。
标签: javascript jquery smooth-scrolling