vue 滚动条实现平滑滚动到某个位置

来源:互联网 发布:博罗县网络问政杨村镇 编辑:程序博客网 时间:2024/06/06 10:51
方法一:引入jquery方法实现
import $ from 'jquery'
toTop: function () {  $('html, body').animate({scrollTop: 0}, 200)  this.showdevIndxNav = true},

方法二:计算scrollTop位置,延时逐段滑动------vue 2下面试验基本看不到平滑滑动的效果
http://blog.csdn.net/bbsyi/article/details/77897776
jump (index) {        // 用 class="d_jump" 添加锚点        let jump = document.querySelectorAll('.d_jump')        let total = jump[index].offsetTop
let distance = document.documentElement.scrollTop || document.body.scrollTop // 平滑滚动,时长500ms,每10ms一跳,共50跳 let step = total / 50 if (total > distance) { smoothDown() } else { let newTotal = distance - total step = newTotal / 50 smoothUp() } function smoothDown () { if (distance < total) { distance += step
       document.body.scrollTop = distance
document.documentElement.scrollTop = distance
setTimeout(smoothDown, 10) } else { document.body.scrollTop = total
document.documentElement.scrollTop = total
} } function smoothUp () { if (distance > total) { distance -= step
       document.body.scrollTop = distance
document.documentElement.scrollTop = distance
setTimeout(smoothUp, 10) } else {
document.body.scrollTop = total
document.documentElement.scrollTop = total
}
}
}
复制代码

阅读全文
0 0
原创粉丝点击