微信小程序——监听页面滑动(一)onPageScroll

news2024/10/6 2:31:58

微信小程序——手把手教你学会监听页面滑动

  • 知识回调(不懂就看这儿!)
  • 场景复现
  • 核心干货
    • 如何进行页面监听
    • 了解onPageScroll
    • 实际使用onPageScroll

知识回调(不懂就看这儿!)

知识专栏专栏链接
微信小程序专栏https://blog.csdn.net/xsl_hr/category_12338067.html?spm=1001.2014.3001.5482
微信小程序——Git版本管理https://blog.csdn.net/XSL_HR/article/details/130986889?spm=1001.2014.3001.5501

有关微信小程序的相关知识可以前往微信小程序官方文档查看了解!!

微信小程序官方文档传送门

场景复现

最近在前端深入学习过程中,接触了微信小程序的相关内容,涉及到页面滑动的监听,因此计划分别用几篇文章总结一下最近的学习笔记,从了解到实际运用微信小程序中的页面滑动监听。

监听效果:
在这里插入图片描述

核心干货

如何进行页面监听

官方给出的方法是使用onPageScroll函数。这个函数与onLoad、onShow类似,属于Page的专属函数。
在这里插入图片描述
使用方法也非常简单,直接在Page中调用该方法就行。

//index.js
Page({
  data: {
    text: "This is page data."
  },
  onPageScroll: function() {
    // 具体逻辑
  },
})

了解onPageScroll

在这里插入图片描述
onPageScroll有一个非常重要的属性——scrollTop。这个属性表示页面在垂直方向已经滚动的距离。我们可以通过这个参数实现多种多样的页面交互,比如页面组件根据滑动高度隐藏显示、页面组件根据高度吸顶等等。
在这里插入图片描述
需要注意的是

  • 只有在需要的时候才能定义此方法,且此方法定义之后方法体不能为空!!
  • onPageScroll非必要不定义调用,避免与其他的滑动事件相冲突!!
  • onPageScroll中的逻辑不要太复杂,因为此函数会随着页面的滑动频繁调用。如果你想实现很复杂的逻辑,这边建议优化代码的算法,降低时间复杂度!!
  • onPageScroll中不要过于频繁地执行setData等引起逻辑层—渲染层之间通信的操作,尤其是大量数据的传输,会影响到通信的耗时!!!导致看起来滑动监听里的事件失效的效果!!!

实际使用onPageScroll

我们只需要在Page中定义此方法,在方法中编写一些简单的方法体即可。这里我监听的是页面距离顶部的垂直距离。
在这里插入图片描述
监听的具体效果:
在这里插入图片描述
这时我们发现,当页面上滑时,scrollTop递增,下滑时scrollTop递减,那么此时我们可以思考如何通过scrollTop来判断用户对页面的操作是上滑还是下滑。这个问题会在下期文章中详细讲述!!


以上就是关于微信小程序监听页面滑动的基础知识分享,相信看完这篇文章的小伙伴们一定能运用这些方法在项目开发中。当然,可能有不足的地方,欢迎大家在评论区留言指正!

下期文章将介绍微信小程序页面滑动之监听上下滑动~
感兴趣的小伙伴可以订阅本专栏,方便后续了解学习~
觉得这篇文章有用的小伙伴们可以点赞➕收藏➕关注哦~

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/598613.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

栈和队列高频面试题(必刷): 用队列实现栈 用栈实现队列 实现循环队列 括号匹配

文章目录 用队列实现栈用栈实现队列实现循环队列括号匹配 用队列实现栈 题目描述: 请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通队列的全部四种操作(push、top、pop 和 empty)。 实现 MySt…

新项目 使用 IDEA 搭建后端环境 及 搭建是可能遇到的 问题 及解决方法

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 新项目 使用 IDEA 搭建后端环境 及 搭建是可能遇到的 问题 及解决方法 前言 提示:这里可以添加本文要记录的大概内容: 新项目 使用 IDEA 搭建后端环…

【群智能算法改进】一种改进的沙丘猫群优化算法 改进沙丘猫群算法 改进SCSO[2]【Matlab代码#36】

文章目录 【获取资源请见文章第5节:资源获取】1. 原始沙丘猫群优化算法2. 改进沙丘猫群算法2.1 非线性自适应参数2.2 Cauchy变异策略2.3 最优邻域扰动策略 3. 部分代码展示4. 仿真结果展示5. 资源获取6. 参考文献 【获取资源请见文章第5节:资源获取】 1.…

华为OD机试真题B卷 Java 实现【光伏场地建设规划】,附详细解题思路

一、题目描述 祖国西北部有一片大片荒地,其中零星的分布着一些湖泊,保护区,矿区;整体上常年光照良好,但是也有一些地区光照不太好。某电力公司希望在这里建设多个光伏电站,生产清洁能源。对每平方公里的土…

主动打包、高效管理的主题工具:逐浪HMS主题大师1.5-即速推送、华为小组件缓存优化、锁屏提取、资源审计、技术秘笈,移动主题设计利器

主动打包、高效管理的主题工具:逐浪HMS主题大师1.5-即速推送、华为小组件缓存优化、锁屏提取、资源审计、技术秘笈,移动主题设计利器 主动打包:逐浪HMS主题大师1.3-即速推送、华为小组件缓存优化、锁屏提取、资源审计、技术秘笈,移…

【经验分享】uniapp项目GIT如何忽略unpackage文件

最近的uniapp项目踩了个坑,就是建完项目,提交代码后,运行发布微信小程序,生成了unpackage里的build文件,这个时候提交总是提交一堆编译后的文件,甚至造成冲突。即使在.gitignore文件中写入忽略unpackage目录…

C++ 小区物业管理系统(QT图形界面)

目录 一、项目介绍 二、项目展示 三、源码分享 一、项目介绍 小区物业管理系统 (一)课题内客 该系统要求建立某小区物业管理系绕,并具有排序﹑查找﹒计算﹑显示等功能,通过此课题,熟练掌握文件﹐指针的各种操作,以及一些算法思…

某内Java课程(整套视频+课件)

某内Java课程 需要整套视频文件(视频课件):(V: t_shopnet) 1 FUNDAMENTALO1 01: 对象和类(上)(6 am.mp4 01: 对象和类(上) (6 pm.mp4 02: 对象和类(下) (3) am .mp4 02: 对象和类(下) (3) pm.mp4 引用类型数组、继承的意义 (上) (3) am.mp403…

SOLIDWORKS流程模拟: 需要多少个CPU核心?

客户经常会问,他们应该为SOLIDWORKS Flow Simulation购买什么工作站,以尽可能快地解决他们的计算流体力学(CFD)问题。遗憾的是,这个问题后面往往有一个无法实现的期望,如 "一切都需要在10分钟内解决&q…

十分钟读懂Stable Diffusion运行原理

AIGC 热潮正猛烈地席卷开来,可以说 Stable Diffusion 开源发布把 AI 图像生成提高了全新高度,特别是 ControlNet 和 T2I-Adapter 控制模块的提出进一步提高生成可控性,也在逐渐改变一部分行业的生产模式。惊艳其出色表现,也不禁好…

逆向python窃密软件

python发布的软件包一般逆向方法是,先使用pyinstxtractor获取到关键性pyc文件,再使用pycdc(又叫Decompyle++)将pyc文件反汇编成py源代码文件。 pyinstxtractor使用方法 将反编译的 Python 源打印到标准输出 python pyinstxtractor.py <filename>pycdc使用方法 对照…

BBC Studios 和 Reality+ 联手将节目《疯狂汽车秀》和《异世奇人》带入 The Sandbox 元宇宙

双方将携手在元宇宙推出一系列基于 BBC 世界著名品牌和节目的沉浸式体验。 今天标志着一个 The Sandbox 元宇宙的历史性时刻&#xff01;我们非常高兴地宣布&#xff0c;通过与 BBC Studios 和 web3 专家 Reality 的合作在 The Sandbox 平台带来全新体验&#xff0c;玩家可以与…

Franklin-Reiter相关消息攻击

文章目录 知识导入&#xff1a;题一题目描述&#xff1a;题目分析&#xff1a; 题二题目描述&#xff1a;题目分析&#xff1a; 题三题目描述&#xff1a;题目分析&#xff1a; 收获与体会&#xff1a; 知识导入&#xff1a; 总结&#xff1a; Franklin-Reiter相关消息攻击(Fra…

数据库管理-第七十九期 儿童节惊魂(20230601)

数据库管理 2023-06-01 第七十九期 儿童节惊魂1 主板挂了&#xff1f;2 时间同步3 数据库参数4 ACFS5 两个错误总结 第七十九期 儿童节惊魂 6月第一天&#xff0c;又是儿童节&#xff0c;加上客户现场来了不少娃&#xff0c;也有一些客户家里有娃去参加活动了&#xff0c;所以…

EMC学习笔记(一)PCB电路板层的设置

EMC学习笔记&#xff08;一&#xff09;PCB电路板层的设置 1.概述2.合理的层数2.1 VCC、GND的层数2.2信号层数 3.单板的性能指标与成本要求4.电源层、地层、信号层的相对位置4.1 VCC\GND平面的阻抗以及电源、地之间的EMC环境问题4.2 VCC、GND作为参考平面&#xff0c;两者的作用…

OneNav Extend网址导航书签系统源码开源版

简介&#xff1a; OneNav Extend 是一款开源免费的书签&#xff08;导航&#xff09;管理程序&#xff0c;使用PHP SQLite 3开发&#xff0c;界面简洁&#xff0c;安装简单&#xff0c;使用方便。 OneNav可帮助你你将浏览器书签集中式管理&#xff0c;解决跨设备、跨平台、跨…

10.Ansible Loops介绍

Ansible Loops是什么&#xff1f;以及实际例子 就是循环语句。让我们看看这个创建Playbook的示例&#xff61;要使用用户模块在系统中创建用户,在本例中, 我们只创建一个用户&#xff61;但是如果我们有多个用户呢? name: Create users hosts: localhost tasks:- user: name g…

城市二次供水设备远程监控解决方案

城市二次供水设备远程监控解决方案 一、项目背景 近年来&#xff0c;随着我国城市日新月异的发展,新建商场和小区高层逐渐的增多&#xff0c;需要二次供水的楼盘也在逐渐增多。二次供水模式成了城市普遍的供水模式&#xff0c;当前普遍采用传统供水方式存在着供水水源、加压供…

Sentinel怎么使用和控制台讲解

Sentinel 基础 官网 1 Github: https://github.com/alibaba/Sentinel 2 快速开始: https://sentinelguard.io/zh-cn/docs/quick-start.html 3 中文: https://github.com/alibaba/Sentinel/wiki/介绍 4 使用手册: https://spring-cloud-alibaba-group.github.io/github-pag…

LNMP搭建过程详解,验证搭建论坛

LNMP搭建过程详解&#xff0c;验证搭建论坛 一、安装Nginx服务1、安装依赖包2、创建运行用户3、编译安装4、优化路径5、添加Nginx 系统服务 二、安装MySQL服务1、安装Mysql环境依赖包2、创建运行用户3、编译安装4、修改mysql配置文件5、更改mysql安装目录和配置文件的属主属组6…