uniapp小程序的锚点定位(将页面滚动到目标位置)

小程序中,a页面跳转到b页面,跳转后滚动定位到b页面的特定位置。

  • 1.uni.pageScrollTo传递一个scrollTop参数可以滚动到特定位置。
  • 2.可以通过 uni.createSelectorQuery()等获取定位元素的位置信息。
  • 3.uni.getSystemInfoSync()获取设备的导航栏和状态栏高度。
  • 4.注意:scrollTop参数的值是2的top的值减去3的导航栏的高度和状态栏的高度。
  • 5.最后,需要注意使用定时器,等待页面渲染完毕,开始滚动。

直接上代码:下面是b页面的模板代码和js代码。

html 复制代码
<template>
  <div class="container">
    <div class="section a"></div>
    <div class="section b"</div>
    <div class="section c"></div>
    <div class="section d"></div>
  </div>
</template> 
js 复制代码
onLoad(opt){
    // pos是a页面跳转携带的query参数。a,b,c,d
    const pos = opt && opt.pos || '';
  
    // 获取手机系统相关的信息,是为了获取导航条和状态栏高度。
    const res = uni.getSystemInfoSync();
  
    // 获取需要定位的元素的坐标位置
    uni.createSelectorQuery().select(`.${pos}`).boundingClientRect(data => {
      // 此处的定时器,非常的重要,等待页面渲染完,然后滚动页面。
      // 需要除去 标题栏高度 和 状态栏高度
      setTimeout(()=>{
        uni.pageScrollTo({
          scrollTop: data.top - res.navigationBarHeight - res.statusBarHeight
        })
      }, 300)
    }).exec();
  }
相关推荐
小程序照片合成10 天前
uniapp微信小程序开发工具本地获取指定页面二维码
微信小程序·小程序·uniapp·二维码
奔跑吧邓邓子13 天前
【商城实战(92)】高并发下的商城缓存进阶:从原理到实战
redis·缓存·springboot·uniapp·element plus·商城实战
奔跑吧邓邓子15 天前
【商城实战(74)】数据采集与整理,夯实电商运营基石
springboot·uniapp·element plus·商城实战·商城数据采集与整理
奔跑吧邓邓子23 天前
【商城实战(49)】解锁小程序端适配与优化,让商城飞起来
uniapp·小程序优化·商城实战·小程序适配
奔跑吧邓邓子1 个月前
【商城实战(24)】商城性能大揭秘:压力测试与性能监控实战
springboot·压力测试·uniapp·element plus·性能监控·商城实战
奔跑吧邓邓子1 个月前
【商城实战(26)】移动端交互优化实战秘籍
spring boot·uniapp·商城实战·移动端交互优化
奔跑吧邓邓子1 个月前
【商城实战(23)】筑牢安全防线,防范常见漏洞
安全·springboot·uniapp·csrf·element plus·sql注入·商城实战
奔跑吧邓邓子1 个月前
【商城实战(22)】商城性能优化秘籍:从前端到后端的实战攻略
redis·缓存·性能优化·springboot·uniapp·element plus·商城实战
ChinaDragonDreamer1 个月前
uniapp:小程序将base64图片字符串保存到手机相册
小程序·uniapp