100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > Vue 锚点平滑滚动

Vue 锚点平滑滚动

时间:2021-05-10 06:01:59

相关推荐

Vue 锚点平滑滚动

无动画goAnchor(selector){//selector 是节点id:'anchor-'+indexdocument.querySelector("#app-root").scrollTop = Number(this.$el.querySelector('#'+selector).offsetTop)-155;}有动画goAnchor(selector) {//selector 是节点id:'anchor-'+indexconst scrollBox = document.querySelector('#app-root') // 容器let distance = scrollBox.scrollTopconst curTag = document.querySelector('#' + selector) // 节点tagconst offsetTop = curTag.offsetTop - 120 // 滚动距离let step = offsetTop / 50if (offsetTop > distance) {smoothDown()} else {const newTotal = distance - offsetTopstep = newTotal / 50smoothUp()}scrollBox.scrollTop = offsetTopfunction smoothDown() {if (distance < offsetTop) {distance += stepscrollBox.scrollTop = distancesetTimeout(smoothDown, 10)} else {scrollBox.scrollTop = offsetTop}}function smoothUp() {if (distance > offsetTop) {distance -= stepscrollBox.scrollTop = distancesetTimeout(smoothUp, 10)} else {scrollBox.scrollTop = offsetTop}}}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。