jquery - 在 less 中滚动到带有一些 px 的 div

标签 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

最佳答案

只需获取菜单栏的高度并从偏移量中减去它,例如菜单为 60px

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

关于jquery - 在 less 中滚动到带有一些 px 的 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36308535/

相关文章:

javascript - 从不同元素切换 select2

jquery - 使用 jQuery 更改背景颜色

jquery - 用边框制作多个div的单个边框

javascript - 带有图像 slider 的 Div 仅在 Safari 中不继承高度

javascript - 根据带有变量的 rel 属性选择元素

javascript - 使用ajax实时更新javascript变量

jquery - 禁用framework7动画

javascript - 让 Highcharts 工具提示返回 Angular Directive(指令)?

javascript - 从 rest api 调用数据并解析到 ui 中的表中

jquery - 使 LI 元素跟随链接