用较少的px滚动到div

时间:2016-03-30 12:12:58

标签: jquery

我在Stack Overflow中找到一个用jQuery编写的简单脚本,它允许平滑滚动到特定的div id,点击一个按钮:

$("#button").click(function() {
$('html, body').animate({
    scrollTop: $("#myDiv").offset().top
}, 2000);
});

一切都很完美,但我有一点问题:在网站上我有一个固定的菜单,这会使这个脚本变得混乱。当我单击按钮滚动到特定div时,菜单会占用我想看到的div的一部分(外包div),因此div不可见100%。

我想问一下是否有一种方法可以滚动到特定div去除一些px,相当于菜单px中的高度。

示例:

页:

enter image description here

我点击按钮,我得到了这个效果:

enter image description here

但我想要这个效果:

enter image description here

2 个答案:

答案 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