求获取HTML元素(downarrow)Y轴位置的JavaScript代码用于滚动变量
获取元素Y轴位置实现平滑滚动
你可以通过document.getElementById()定位目标元素,再结合getBoundingClientRect()和页面滚动距离,计算出元素在文档中的Y轴位置。完整代码如下:
var topscrollvalue = 0; // 获取目标元素 const downArrowElement = document.getElementById('downarrow'); if (downArrowElement) { // 计算元素在文档中的Y轴位置:视口相对位置 + 已滚动距离 topscrollvalue = downArrowElement.getBoundingClientRect().top + window.scrollY; } function scroll_to(){ window.scrollTo({ top: topscrollvalue, left: 0, behavior:"smooth" }); }
关键细节说明:
document.getElementById('downarrow'):精准获取页面中id为downarrow的元素getBoundingClientRect().top:返回元素顶部相对于当前视口的垂直距离window.scrollY:返回页面已滚动的垂直距离,两者相加得到元素在整个文档中的绝对Y轴位置- 增加元素存在性判断,避免因元素未加载或不存在导致的代码报错
内容的提问来源于stack exchange,提问作者DarKS4ys
相关产品推荐
相关产品推荐

