如何滚动到元素,同时使其在Internet Explorer 11中垂直居中?

问题描述 投票:0回答:1

假设我在父容器中有一个元素。我想滚动到该元素,同时使其在父容器中垂直居中。我编写了以下功能,该功能适用​​于除IE11之外的所有浏览器:

// Function for scrolling to an element, and placing it in the middle of the view
// By default, the container parameter is set to the browser window
function scrollIntoViewMiddle(element, container) {
    if (container === undefined) {
        container = window;
    }
    var elementRect = element.getBoundingClientRect();
    var absoluteElementTop = elementRect.top;
    var middleDiff = (elementRect.height / 2);
    var scrollTopOfElement = absoluteElementTop + middleDiff;
    var scrollY = scrollTopOfElement - (window.innerHeight / 2);
    container.scrollTo(0, scrollY);
}

[不幸的是,这在IE11上不起作用,因为scrollTo()不是定义的函数或任何其他函数。什么是替代方法?在IE11中甚至可以做到这一点吗?

javascript internet-explorer internet-explorer-11
1个回答
1
投票

the scrollTo method doesn't support IE browser起,我们可以设置Element.scrollLeft属性和Element.scrollTop属性来达到相同的效果。

© www.soinside.com 2019 - 2024. All rights reserved.