把可滚动区域中-某个子元素平滑滚动到可视区域正中间位置
如何把可滚动区域中-某个子元素平滑滚动到可视区域正中间位置
【把可滚动区域中-某个子元素平滑滚动到可视区域正中间位置】不废话,直接上公式:
// parentEl代表父元素,也就是设置了overflow为可滚动的元素
// childEl代表需要滚动到父元素正中间的直接子元素// 水平滚动
let x = childEl.offsetLeft - parentEl.clientWidth + parentEl.clientWidth/2 + childEl.clientWidth/2;
parentEl.scrollTo({
left: x,
behavior: "smooth",
});
// 垂直滚动
let y = childEl.offsetTop - parentEl.clientHeight + parentEl.clientHeight/2 + childEl.clientHeight/2;
parentEl.scrollTo({
top: y,
behavior: "smooth",
});
推荐阅读
- 死结。
- Y房东的后半生14
- Eddy小文
- 2019-1-14
- 人如果没梦想,和咸鱼有什么区别(自媒体时代把握住就能咸鱼翻身)
- 抑郁症(可怕吗?)
- 松软可口易消化,无需烤箱超简单,新手麻麻也能轻松成功~
- 你不可不知的真相系列之科学
- [青春]翔(五)
- 关于自我为中心的一点感想