我在Stack Overflow中找到一个用jQuery编写的简单脚本,它允许平滑滚动到特定的div id,点击一个按钮:
$("#button").click(function() {
$('html, body').animate({
scrollTop: $("#myDiv").offset().top
}, 2000);
});
一切都很完美,但我有一点问题:在网站上我有一个固定的菜单,这会使这个脚本变得混乱。当我单击按钮滚动到特定div时,菜单会占用我想看到的div的一部分(外包div),因此div不可见100%。
我想问一下是否有一种方法可以滚动到特定div去除一些px,相当于菜单px中的高度。
示例:
页:
我点击按钮,我得到了这个效果:
但我想要这个效果:
答案 0 :(得分:2)
只需获取菜单栏的高度并从偏移量中减去它,例如菜单为60px
$("#button").click(function() {
$('html, body').animate({
scrollTop: $("#myDiv").offset().top-60
}, 2000);
});

答案 1 :(得分:0)
https://jsfiddle.net/efxx1419/ Check this link may work for you