javascript - 有没有办法检测具有特定类的 div 并将顶部滚动条移动到它在父 div 内的位置?
问题描述
HTML:
<div id="parent">
<div class="myDiv"></div>
<div class="myDiv"></div>
<div class="myDiv mySelectedDiv"></div>
<div class="myDiv"></div>
</div>
我将 mySelectedDiv 类动态附加到 div 中,一次一个。我希望滚动条位于该选定的 div 处。有什么建议么?
我已经尝试使用下面的代码在所选 div 的位置上下移动滚动条。但是当 div 的高度发生变化时它并不准确,在我的例子中就是这样。
element.scrollBy({
top: 100,
behavior: "smooth"
})
解决方案
window.scrollTo()
在获得元素的顶部 Y 坐标(相对于窗口或容器或对您有利的任何一个)之后,您应该能够使用它来完成此操作。
第二部分可能在stackoverflow上有很多答案:) https://stackoverflow.com/search?q=get+element+top+position
编辑:如果您不关心旧浏览器,您也可以尝试这个新 API:https ://developer.mozilla.org/en-US/docs/Web/API/Element/scrollIntoView
编辑 2:正如@mplungjan 在评论中指出的那样,这实际上在所有浏览器中都得到了很好的支持,甚至是 IE6 等旧浏览器。至少,基本语法。但是,它被认为是一种未标准化的实验技术,因此可能需要对其进行很好的测试。
推荐阅读
- python - Python scipy.io.wavefile 找不到 read() 函数
- database - 数据库设计 - 在主表中有列与有一个单独的表
- python - 替换一系列 if 语句
- javascript - 如何将 javascript 正则表达式格式拆分 {0}
- java - Vertx 使用 AMQPBridge 发出 Java 运行时警告
- javascript - 如何只调用一次弹出窗口?
- vue.js - CASL 在 Vue 生产模式下无法正常工作
- bash - Bash 重定向 stdout 和 stderr 以使用时间戳分隔文件
- javafx - 在 Jar 中为 Gluon Scene Builder 11.00 创建自定义控件
- php - 无论如何要通过 WP-Config.php 做到这一点?(通配符重定向除了 wp-admin)