uniapp滚动指定位置uni.pageScrollTo使用

如果直接使用selector选择器滚动,目标元素会在最顶部,最好少滚动一点,让元素显示在屏幕中间一点,下面示例方法,获取目标元素距离顶部距离,然后减去200px

<template>
  <view class="page-container">
	  <!-- 其他元素 -->
	  ……
	  <!-- 目标元素 -->
	  <view id="target"></view>
  </view>
  <script>
  methods: {
  		jumpTo(){
  		  //通过api获取目标元素距离屏幕顶部距离
  			const query = uni.createSelectorQuery().in(this);
        query
          .select("#target")
          .boundingClientRect((data) => {
            uni.pageScrollTo({
              scrollTop:data.top - 200,
              duration: 200
            });
          })
          .exec();
  		}
  }
  </script>
</template>

注意

如果滚动不生效,可能是最外层容器设置了100vh之类的高度,改为page-container:auto!important试试

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值