vue滚动固定顶部及修改样式
滚动固定位置有多种方法1 css3粘性定位position:sticky;top:20px;2直接position:fixed;给顶部盒子设置一个margin-top刚好是需要固定的盒子的高度3事件监听更改style中的position属性修改样式html绑定<p class="ptop1":style="pstyle"><img ...
·
滚动固定位置有多种方法
1 css3 粘性定位
position:sticky;
top:20px;
2直接position:fixed;给顶部盒子设置一个margin-top刚好是需要固定的盒子的高度
3事件监听更改style中的position属性
**
修改样式
滚动监听事件中使用this.$refs.xxx.style.color=‘xxxx’ 这种方式会报错
Uncaught TypeError: Cannot read property 'style' of undefined
所以通过动态绑定来解决。
具体:
**
html绑定
<p class="ptop1" :style="pstyle">
<img @click="back()" :src='topimgs'>
</p>
data中设置属性
data() {
return {
pstyle:{background:'#595552'},
pastyle:{background:'#595552'},
pbstyle:{background:'#fff'},
};
},
mounted中添加事件监听
window.addEventListener(“scroll”, this.handleScroll);
methods中添加方法,在方法中修改
let scrollTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop;
if(scrollTop>100){
this.pstyle=this.pbstyle;
}else{
this.pstyle=this.pastyle;
}
遇见问题,留作参考。
更多推荐
已为社区贡献7条内容
所有评论(0)