【发布时间】:2019-03-11 23:54:29
【问题描述】:
我有一个带有 class="Parent" 的 Parent div 这也有 n 子元素,如 <div data-elementid="el_ryz-E9a349" class="row">
Parent 修复了height: 220px,如果不对该孩子执行scrollIntoView(),我需要知道子元素 (n) <div data-elementid="el_ryz-E9a349" class="row"> 是否出现在父级高度。
重要的是,我无法删除这两个元素,将 div 和 <div class="container" 清空,因为这会影响我的设计。
...
const scrollToBottom = () => {
const elementNode = document.querySelector(`[data-elementid='${action.payload.id}']`);
const parentElementNode = elementNode.parentNode;
const elementsHeight = parentElementNode.offsetHeight;
const menuContainer = parentElementNode.parentNode.offsetHeight;
if (elementsHeight > menuContainer) {
elementNode.scrollIntoView({
behavior: 'smooth',
block: 'end',
});
}
};
setTimeout(scrollToBottom, 200);
...
很明显,如果我有n 子元素,那么让elementNode.parentNode.parentNode.parentNode 访问父节点以获取高度属性是多余的。
【问题讨论】:
标签: javascript reactjs