javascript – 查找第一个可滚动父项

前端之家收集整理的这篇文章主要介绍了javascript – 查找第一个可滚动父项前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有这种情况,我需要将元素滚动到视口中.问题是我不知道哪个元素是可滚动的.例如,在纵向中,主体是可滚动的,并且在其它元素的Landscape中(并且有更多的情况改变了可滚动元素)

现在的问题,给定一个需要滚动到视口的元素,找到它的第一个可滚动父项的最好方法是什么?

我设置了演示here.使用按钮,您可以在两种不同的情况之间切换

<div class="outer">
    <div class="inner">
        <div class="content"> 
            ...
            <span>Scroll me into view</span>
        </div>
    </div>
</div>

身体是可滚动或.outer

有什么建议么 ?

解决方法

只需检查滚动条是否可见,如果不看父母.
function getScrollParent(node) {
  if (node === null) {
    return null;
  }

  if (node.scrollHeight > node.clientHeight) {
    return node;
  } else {
    return getScrollParent(node.parentNode);
  }
}
原文链接:https://www.f2er.com/js/153897.html

猜你在找的JavaScript相关文章