js计算使滚动条滚动到元素的位置并且是元素是在父级中间的位置
可以使用以下代码实现:
function scrollToMiddle(element) {
const parent = element.parentNode;
const elementTop = element.offsetTop;
const scrollTop = elementTop - (parent.offsetHeight / 2) + (element.offsetHeight / 2);
parent.scrollTop = scrollTop;
}
这个函数接收一个 DOM 元素作为参数,将会滚动到父级容器中让该元素垂直居中的位置。具体实现如下:
- 获取元素的父级容器。
- 获取元素距离父级容器顶部的距离。
- 计算出需要滚动的距离,即元素距离容器顶部的距离减去容器高度的一半,再加上元素高度的一半。
- 将父级容器的 scrollTop 属性设置为计算出的滚动距离。
调用该函数,可以使用如下代码:
const element = document.getElementById("my-element");
scrollToMiddle(element);
``
原文地址: https://www.cveoy.top/t/topic/fIMy 著作权归作者所有。请勿转载和采集!