哪个区域块需要回到顶部,也就是哪个区域块有滚动条 加上 绑定ref 与@scroll.passive=“getScroll($event)”
<ul class="list_wrap" ref="top" @scroll.passive="getScroll($event)">
创建并修饰 自己回到顶部 我这里用的vant框架的 组件
绑定click事件 或者 v-tap手指事件 都可以 绑定 ref v-if是为了滚动条滚动多少显示出来
<van-icon name="arrow-up" class="gotop" @click="goTop()" ref="btn" v-if="isTop">top</van-icon>
先默认不显示
data() {
return {
isTop:false,
};
},
下面是绑定的两个事件
goTop(){
//点击事件 这样写会直接把滚动条回到顶部 如果想要动画可以加个定时器
this.$refs.top.scrollTop = 0;
//下面是我 写的滚动条慢慢回到顶部效果 需要在script下面 export上面 插入let timer = null;
// timer = setInterval(() => {
// if (this.$refs.top.scrollTop > 0) { //当滚动条大于0时开一个定时器
// this.$refs.top.scrollTop -= 100; //每30毫秒 滚动条减少100
// } else {
// clearInterval(timer); //小于0时清除定时器
// }
// }, 30);
},
getScroll(event) { //滚动事件 可以打印看看 里面记录了好多东西,希望你感兴趣console.log(event)
let scrollTop = event.target.scrollTop; //滚动条的高度
if (scrollTop > 600) { //当滚动条大于600的时候 回到顶部 dom出现
this.isTop = true;
} else { //否则的话 继续消失
this.isTop = false;
}
},
如果有什么需要改正的可以私聊我