记一次js | vue锚点定位

103 阅读1分钟
  • a标签已经过时了,所以不考虑
  • mdn上的一个新方法:developer.mozilla.org/zh-CN/docs/… 但是如果你页面顶部有吸顶的话,这个方法不能再原有的位置继续偏移,锚点的元素会被吸顶的元素挡住
  • scrollTop document.getElementsByClassName('el')[0].scrollTop = 500
  • 最后选了window.scrollTo 感觉挺好的:developer.mozilla.org/zh-CN/docs/… 兼容性也挺好的

你可能还需要

// 获取元素距离顶部的距离
elementOffsetTop(elements) {
    let top = elements.offsetTop
    let parent = elements.offsetParent
    while (parent !== null) {
        top += parent.offsetTop
        parent = parent.offsetParent
    }
    return top
},