javascript - 滚动到具有偏移且没有元素填充/边距/边框的元素?
问题描述
我有一个可以平滑滚动到元素的功能。我有一个固定的导航栏,所以我减去了导航栏的高度,这样它就不会覆盖内容。
问题:它滚动到的元素有一个填充顶部,所以当滚动到元素时,会有一点间隙。见附件截图
我的功能:
const element = document.querySelector(selector)
let scrollToPosition
const elementPosition = element.getBoundingClientRect().top
const fixedHeaderHeight = document.querySelector('.fixed-navbar')
.offsetHeight
scrollToPosition =
elementPosition + window.pageYOffset - fixedHeaderHeight
window.scrollTo({
top: scrollToPosition,
behavior,
})
如何从元素中删除填充/边距/边框?
解决方案
推荐阅读
- elasticsearch - 如何使用 elasticsearch ruby 在附件管道中使用文档?
- node.js - 卡在 heroku 试图部署 express 和 react
- php - PDO 留下 .laccdb 文件
- three.js - 对缓冲区几何进行射线投射时如何获得相交面
- vba - 如何正确使用 VBA 脚本插入具有特定字符的公式
- angular - Angular 5 - Angular Material 在组件中不起作用
- hive - sqoop 导入配置单元表错误
- python - ORM 排序与模型“元”排序 - Django 1.11
- java - 如何避免 if-else 树代码?
- php - codeigniter中的mysql查询不返回任何内容