使用方法: dom.scrollIntoView()
scrollTo(currentEle, containerSelector) {
function getEleOffsetTop(currentEle, containerEle, offsetTop) {
if (currentEle === containerEle) {
return offsetTop
}
offsetTop += currentEle.offsetTop
return getEleOffsetTop(
currentEle.offsetParent,
containerEle,
offsetTop
)
}
const containerEle = document.querySelector(containerSelector)
const containerHeight = containerEle.offsetHeight;
const currentEleOffetTop = getEleOffsetTop(currentEle, containerEle, 0)
if (currentEleOffetTop > containerEle.scrollTop && currentEleOffetTop +150 < (containerEle.scrollTop + containerHeight)) return
}
containerEle.scrollTop = currentEleOffetTop - containerHeight * 0.3
}
ele.classList.contains('select-root')