在我的代码中,我有一个jQuery函数,当用户单击具有某个类名的链接时调用该函数(任何给定页面上有两个这样的链接)。一个是平滑滚动到网站的页脚。另一种是平滑滚动回顶部。它们属于同一个功能,但只有滚动到页脚的链接才有效。
function smoothScrolling() {
$(".smoothScroll a").click(function(e) {
var $scrolltype = $(this).attr("data-scrolltype");
e.preventDefault();
console.log("Scrolling to " + $scrolltype + "...");
if($scrolltype === 'footer') {
$('html, body').animate({
scrollTop: $(".app__footer").offset().top
}, 2000);
} if($scrolltype === 'header') {
$('html, body').animate({
scrollTop: $("#primaryMenu").offset().top
}, 2000);
}
return false;
});
}
smoothScrolling();
preventDefault();
和return false
用于阻止加载Ajax页面。
页脚的平滑滚动效果非常好。尽管与两个按钮使用的代码完全相同,但滚动到标题的链接不起作用。想法?
答案 0 :(得分:1)
由于我们没有看到HTML,因此很难说出错误但代码没问题。在这里你可以检查:
1 - 确保菜单为ID primaryMenu
。
2 - 确保页脚中的链接为data-scrolltype="header"
3 - 确保页脚链接为smoothScroll
类