【uniapp】滚动相关

1、滚动到一定区域,顶部内容置换并置顶

     

 功能:

     当我向下滚动时,当关注那一行快到顶部的时候,把左侧区域的内容切换成右侧区域的内容,并置顶

 原先我使用v-if来显示隐藏,发现会出现闪屏的现象,后来我把他改成visibility就可以了

<template>
	<view class="home_container">
          <view :style="{visibility: !ScrollTop?'none':'hidden'}">左侧内容</view>
          <view class="ScrollTop" :style="{'top':statusBarHeight,visibility: !ScrollTop?'none':'hidden'}">右侧内容</view>
	</view>
</template>

<script>
   export default {
       data() {
			return {
                listTop: 0, //底部关注推荐部分,距离顶部的距离
				statusBarHeight: 0,
                ScrollTop: false, //滚动页面显示对应区域
            }
       },
       onReady() {
			this.statusBarHeight = uni.getSystemInfoSync().statusBarHeight + 40 + 'px'
			// console.log(this.statusBarHeight) //这个就是距离顶部的高度
			let query = uni.createSelectorQuery().in(this);
			query.select('#bottom_word').boundingClientRect(data => {
				this.listTop = data.top - 87 - 100 //减去导航栏
			}).exec();
		},
       onPageScroll(e) { //监听页面滚动距离
			this.ScrollTop = e.scrollTop >= this.listTop
		},
   }
</script>

猜你喜欢

转载自blog.csdn.net/Qxn530/article/details/132236323