当前位置: 首页 > article >正文

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

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

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

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

<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> 

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();
  }


http://www.kler.cn/a/441120.html

相关文章:

  • Linux工具使用
  • 【解决方案】MuMu模拟器移植系统进度条卡住98%无法打开
  • Python中的函数(下)
  • github制作静态网页
  • 【性能优化专题系列】利用CompletableFuture优化多接口调用场景下的性能
  • 开发环境搭建-4:WSL 配置 docker 运行环境
  • linux下操作es及kibana的操作记录
  • OpenCV的简单练习
  • 性能评估工具之lmbench
  • cuda附加到python进程(vscode)
  • 记录linux websocket握手时间过长问题
  • 基于python绘制数据表(上)
  • Spark优化----Spark 数据倾斜
  • Android Room 数据库使用详解
  • 【使用PyQt5和YOLOv11开发电脑屏幕区域的实时分类GUI】——选择检测区域
  • CTFHUB靶场关于SSRF保姆级攻略
  • 大模型呼出机器人有哪些功能特点?
  • 多维高斯分布
  • docker安装Redis、docker使用Redis、docker离线安装redis、Redis离线安装
  • 代码随想录算法训练营第三十五天|01背包理论基础|卡码网46.携带研究材料|LC416.分割等和子集
  • 深入理解STL list erase
  • ThreadLocal数据结构、内存泄漏分析
  • Maven 打包(system jar 和微服务父子项目)
  • ios系统冷知识
  • SamOutV2 0.18B模型发布
  • 接口测试常用工具 Postman