关于html+css+js:把可滚动区域中某个子元素平滑滚动到可视区域正中间位置

如何把可滚动区域中-某个子元素平滑滚动到可视区域正中间地位

不废话,间接上公式:

    // 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",
    });

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理