javascript - 如何仅使用 JavaScript 从元素当前位置减去像素?
问题描述
在不使用 jQuery 的情况下,有没有办法获取元素的当前位置并从中添加/减去?假设一个元素有这个 CSS
position: relative;
top: 400px;
/*400px away from the top*/
JavaScript 可以从“顶部”获取像素数量并从中减去吗?我知道我可以使用 document.getElementById("element").style.top 直接编辑 top 属性,但是我想先获取值本身,然后从该值中减去一些像素,然后放入新值作为位置。这可能吗?
解决方案
像这样的东西?从视口顶部获取位置,然后减去一个值并返回新的“与顶部值的偏移量”:
const offsetValue = 49
const findNewPosition = (offset) => {
const element = document.querySelector('#elementId').getBoundingClientRect().top
return element - offset
}
findNewPosition(offsetValue)
推荐阅读
- sql - 为过程调用表名 IN 参数并输出该表中的每个列名
- c# - 如何使用 s3 存储桶从 dot net core 3 api 流式传输视频?
- asp.net-mvc - 在 Web 层向现有 .NET Core 项目添加标识
- google-cloud-firestore - firestore,我是否需要启用持久性才能在本地触发侦听器?
- php - sitename.com 目前无法处理此请求。HTTP 错误 500 - Laravel 部署
- mongodb - 在 DataGrip JetBrains 中删除数据库
- python - Python 图像修复效果不佳
- javascript - 等待直到 mongoose find 操作结束以启动其他进程
- react-native - React 本机 fetch api 调用未发出请求
- bash - 内循环不会中断