vue监听滚动事件,实现某元素固定位置显示

1.监听滚动事件

在方法中添加一个方法

btn_pos : function(){
//滚动条的高度
var scrollTop = document. body. scrollTop || document. documentElement. scrollTop;
console. log( scrollTop)
//滚动条的高度>可视区的高度
}


然后,在mounted钩子中,给window添加一个滚动监听事件

window. addEventListener( 'scroll', this. btn_pos);

2.根据自己的需求,完善代码

btn_pos : function(){
//滚动条的高度
var scrollTop = document. body. scrollTop || document. documentElement. scrollTop;
var clientHeight= document. documentElement. clientHeight;
console. log( clientHeight)
//滚动条的高度>可视区的高度
if( scrollTop> clientHeight){
this. local = ! this. local
} else{
this. local = ! this. local
}
}

3.

< button v-if=" local" class= "btn_run" >返回 </ button >

4.

data () {
return {
local: false
}
},

注意:如果离开该页面,就要移除这个监听事件,不然会报错

destroyed () { //离开这个界面之后,删除,不然会有问题
window. removeEventListener( 'scroll', this. btn_pos)
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值