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

微信小程序中巧妙使用 wx:if 和 catchtouchmove 实现弹窗禁止页面滑动功能

大家好,今天我要和大家分享的是在微信小程序开发过程中,如何利用 wx:if 或 wx:elif 来条件性地渲染不同的元素,并结合 catchtouchmove 事件处理函数来解决弹窗弹出时禁止背后页面滑动,而弹窗消失时恢复滑动的功能。

在微信小程序中,我们经常会遇到这样的场景:当弹窗出现时,我们希望用户无法滑动背后的页面,以避免误操作。而当弹窗消失后,用户又可以正常滑动页面。这时,我们就需要用到 catchtouchmove 事件来阻止页面的滑动。

然而,直接在元素上绑定 catchtouchmove 并不能实现动态控制,这就需要我们另辟蹊径。

解决方案

使用 wx:if 或 wx:elif 结合 catchtouchmove 事件处理函数来实现这一功能

1. 定义数据属性

首先,我们需要在页面的 data 对象中定义一个布尔类型的属性,用于控制弹窗的显示与隐藏。例如:

Page({data: {showModal: false // 控制弹窗显示与隐藏}
});
2. 使用 wx:if 条件渲染

接下来,我们使用 wx:if 来条件性地渲染页面元素。当弹窗显示时,渲染一个带有 catchtouchmove 事件的元素;当弹窗隐藏时,渲染另一个不带 catchtouchmove 事件的元素。

<view wx:if="{{showModal}}"><view class="modal-container" catchtouchmove="preventMove"></view>
</view>
<view wx:else><view class="content-container"></view>
</view>
3. 定义事件处理函数

在 Page 对象中,我们需要定义 preventMove 函数,用于阻止滑动事件。

Page({// ... 其他数据和方法preventMove: function(e) {// 阻止滑动事件可以不做任何操作就能阻止滑动}
});
4. 控制弹窗显示与隐藏

最后,我们需要在合适的时机(如点击按钮)修改 showModal 的值,以控制弹窗的显示与隐藏。

showModal: function() {this.setData({showModal: true});
},hideModal: function() {this.setData({showModal: false});
}

希望这篇文章能对大家有所帮助!

相关文章:

微信小程序中巧妙使用 wx:if 和 catchtouchmove 实现弹窗禁止页面滑动功能

大家好&#xff0c;今天我要和大家分享的是在微信小程序开发过程中&#xff0c;如何利用 wx:if 或 wx:elif 来条件性地渲染不同的元素&#xff0c;并结合 catchtouchmove 事件处理函数来解决弹窗弹出时禁止背后页面滑动&#xff0c;而弹窗消失时恢复滑动的功能。 在微信小程序…...

唯徳知识产权管理系统 DownloadFileWordTemplate 文件读取漏洞复现

0x01 产品简介 唯徳知识产权管理系统,由深圳市唯德科创信息有限公司精心打造,旨在为企业及代理机构提供全方位、高效、安全的知识产权管理解决方案。该系统集成了专利、商标、版权等知识产权的全面管理功能,并通过云平台实现远程在线办公,提升工作效率。是一款集知识产权申…...

我在高职教STM32——准备HAL库工程模板(2)

新学期已开始,又要给学生上 STM32 嵌入式课程了。这课上了多年了,一直用的都是标准库来开发,已经驾轻就熟了。人就是这样,有了自己熟悉的舒适圈,就很难做出改变,老师上课也是如此,排斥新课和不熟悉的内容。显然,STM32 的开发,HAL 库已是主流,自己其实也在使用,只不过…...

数字化转型的实战法则:全面剖析《数字化专业知识体系》中的落地策略与最佳实践

开启数字化成功的实践路径 随着全球经济加速迈向数字化&#xff0c;企业不再仅仅依赖传统商业模式&#xff0c;而是通过技术创新提升竞争力与市场地位。然而&#xff0c;数字化转型的成功不仅依赖于战略思维&#xff0c;更需要精准的实战执行。《数字化专业知识体系》&#xf…...

远程桌面内网穿透是什么?有什么作用?

远程桌面内网穿透指的是通过特定技术手段&#xff0c;将处于内网中的电脑或服务器&#xff0c;通过外部网络&#xff08;互联网&#xff09;进行访问。内网穿透的主要作用是解决在内网环境下&#xff0c;远程设备与外部互联网之间的连接问题&#xff0c;允许用户从外部访问内网…...

【算法专场】分治(上)

目录 前言 什么是分治&#xff1f; 75. 颜色分类 算法分析 算法步骤 算法代码 912. 排序数组 - 力扣&#xff08;LeetCode&#xff09; 算法分析 算法步骤 算法代码 215. 数组中的第K个最大元素 - 力扣&#xff08;LeetCode&#xff09; 算法分析 算法步骤 ​编辑…...

腾讯云软件工程师面试问题收集记录-数据库

SQL是什么&#xff1a;结构化查询语言&#xff0c;是一种专门用于管理关系型数据库管理系统的编程语言 MySQL操作命令 数据库操作 登陆数据库&#xff1a;mysql -u 用户面 -p创建数据库&#xff1a;CREATE DATABASE testdb; SQLite操作命令 数据库操作 创建数据库&#xff1a;…...

Sourcetree安装教程及使用

下载链接&#xff1a;源代码树 |适用于 Mac 和 Windows 的免费 Git GUI (sourcetreeapp.com) Sourcetree安装教程及使用_sourcetree 安装使用-CSDN博客...

TryHackMe 第1天 | Introduction to Cyber Security

偶然之间了解到了TryHackMe这个网站&#xff0c;尝试跟着其中的学习路径进行学习&#xff0c;发现还是挺适合入门网络安全这一领域的。但是这个网站包含了很多内容&#xff0c;如果不用一些东西记录下来&#xff0c;那么很容易忘记&#xff0c;所以打算在此记录一下学习过程。 …...

ASP.NET MVC 迅速集成 SignalR

在现代 Web 应用程序中&#xff0c;实时更新数据是一个常见需求。本文将详细介绍如何在 ASP.NET MVC 项目中使用 SignalR 实现定时任务操作数据库并将数据更新到网页。我们将逐步讲解如何配置 SignalR、创建定时任务、操作数据库以及在前端显示实时数据。 目录 项目初始化安装…...

[数据集][目标检测]葡萄成熟度检测数据集VOC+YOLO格式1123张3类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;1123 标注数量(xml文件个数)&#xff1a;1123 标注数量(txt文件个数)&#xff1a;1123 标注…...

【Python 数据分析学习】Matplotlib 的基础和应用

题目 1 Matplotlib 主要特性2 Matplotlib 基础知识2.1 导入模块2.2 图形构成2.2.1 图形&#xff08;Figure&#xff09;2.2.2 轴 &#xff08;Axes&#xff09;2.2.3 轴线&#xff08;axis&#xff09; 2.5 中文设置2.5.1 借助rcParams修改字体实现设置2.5.2 增加一个fontprope…...

HarmonyOS应用开发者基础认证

目录 一、判断二、单选三、多选 一、判断 1、HarmonyOS提供了基础的应用加固安全能力&#xff0c;包括混淆、加密和代码签名能力。正确 2、可以通过ohpm uninstall 指令下载指定的三方库。错误 3、支持模块化开发是指一个应用通常会包含多种功能&#xff0c;将不同的功能特性…...

gin基本使用

中文文档:https://gin-gonic.com/zh-cn/docs/ 下载和安装gin模块 go get -u github.com/gin-gonic/gin简单接口demo package mainimport "github.com/gin-gonic/gin"func main() {r := gin.Default() // 创建一个默认的路由引擎r.GET("/pin…...

【VUE】pinia持久化存储

前言&#xff1a;状态持久化存储的意义在于它能够确保用户在与应用程序交互时&#xff0c;其操作状态、用户偏好、应用数据等关键信息在页面刷新、浏览器关闭或重新启动后依然得以保留&#xff0c;从而提供连贯、无缝的用户体验&#xff0c;避免因状态丢失导致的不便和重复操作…...

【Java基础】泛型

文章目录 泛型一、概述二、泛型的使用1、类2、方法3、接口 三、泛型通配符1、<?>2、<? extends T>3、<? super T> 四、泛型的擦除1、泛型的擦除2、泛型边界的擦除3、无法实例化泛型类型 泛型 一、概述 泛型&#xff08;Generic&#xff09;是一种机制&a…...

STL-vector练习题

118. 杨辉三角 思路&#xff1a; 杨辉三角有以下性质使我们要用到的&#xff1a; ● 每行数字左右对称&#xff0c;由 1 开始逐渐变大再变小&#xff0c;并最终回到 1。 ● 第 n 行&#xff08;从 0 开始编号&#xff09;的数字有 n1 项&#xff0c;前 n 行共有 2n(n1)个数。…...

Leetcode 165. 比较版本号(Medium)

给你两个 版本号字符串 version1 和 version2 &#xff0c;请你比较它们。版本号由被点 . 分开的修订号组成。修订号的值 是它 转换为整数 并忽略前导零。 比较版本号时&#xff0c;请按 从左到右的顺序 依次比较它们的修订号。如果其中一个版本字符串的修订号较少&#xff0c…...

Android 12 Launcher3 去掉Hotseat

1.概述 在12.0 产品定制化开发中 由产品需求Launcher3 页面布局的原因&#xff0c;要求Launcher3 需要去掉Hotseat 不显示Hotseat下面几个图标&#xff0c;而做满屏app的显示&#xff0c;从而达到美观的效果&#xff0c;下面就来分析去掉Hotseat从而实现这个功能 2.Launcher3 …...

Nginx实用篇:实现负载均衡、限流与动静分离

Nginx实用篇&#xff1a;实现负载均衡、限流与动静分离 | 原创作者/编辑&#xff1a;凯哥Java | 分类&#xff1a;Nginx学习系列教程 Nginx 作为一款高性能的 HTTP 服务器及反向代理解决方案&#xff0c;在互联网架构中扮演着至关重要的角色。它…...

脑机新手指南(八):OpenBCI_GUI:从环境搭建到数据可视化(下)

一、数据处理与分析实战 &#xff08;一&#xff09;实时滤波与参数调整 基础滤波操作 60Hz 工频滤波&#xff1a;勾选界面右侧 “60Hz” 复选框&#xff0c;可有效抑制电网干扰&#xff08;适用于北美地区&#xff0c;欧洲用户可调整为 50Hz&#xff09;。 平滑处理&…...

(二)TensorRT-LLM | 模型导出(v0.20.0rc3)

0. 概述 上一节 对安装和使用有个基本介绍。根据这个 issue 的描述&#xff0c;后续 TensorRT-LLM 团队可能更专注于更新和维护 pytorch backend。但 tensorrt backend 作为先前一直开发的工作&#xff0c;其中包含了大量可以学习的地方。本文主要看看它导出模型的部分&#x…...

Linux简单的操作

ls ls 查看当前目录 ll 查看详细内容 ls -a 查看所有的内容 ls --help 查看方法文档 pwd pwd 查看当前路径 cd cd 转路径 cd .. 转上一级路径 cd 名 转换路径 …...

【磁盘】每天掌握一个Linux命令 - iostat

目录 【磁盘】每天掌握一个Linux命令 - iostat工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景 注意事项 【磁盘】每天掌握一个Linux命令 - iostat 工具概述 iostat&#xff08;I/O Statistics&#xff09;是Linux系统下用于监视系统输入输出设备和CPU使…...

[10-3]软件I2C读写MPU6050 江协科技学习笔记(16个知识点)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16...

ElasticSearch搜索引擎之倒排索引及其底层算法

文章目录 一、搜索引擎1、什么是搜索引擎?2、搜索引擎的分类3、常用的搜索引擎4、搜索引擎的特点二、倒排索引1、简介2、为什么倒排索引不用B+树1.创建时间长,文件大。2.其次,树深,IO次数可怕。3.索引可能会失效。4.精准度差。三. 倒排索引四、算法1、Term Index的算法2、 …...

06 Deep learning神经网络编程基础 激活函数 --吴恩达

深度学习激活函数详解 一、核心作用 引入非线性:使神经网络可学习复杂模式控制输出范围:如Sigmoid将输出限制在(0,1)梯度传递:影响反向传播的稳定性二、常见类型及数学表达 Sigmoid σ ( x ) = 1 1 +...

Android 之 kotlin 语言学习笔记三(Kotlin-Java 互操作)

参考官方文档&#xff1a;https://developer.android.google.cn/kotlin/interop?hlzh-cn 一、Java&#xff08;供 Kotlin 使用&#xff09; 1、不得使用硬关键字 不要使用 Kotlin 的任何硬关键字作为方法的名称 或字段。允许使用 Kotlin 的软关键字、修饰符关键字和特殊标识…...

【数据分析】R版IntelliGenes用于生物标志物发现的可解释机器学习

禁止商业或二改转载&#xff0c;仅供自学使用&#xff0c;侵权必究&#xff0c;如需截取部分内容请后台联系作者! 文章目录 介绍流程步骤1. 输入数据2. 特征选择3. 模型训练4. I-Genes 评分计算5. 输出结果 IntelliGenesR 安装包1. 特征选择2. 模型训练和评估3. I-Genes 评分计…...

【Java学习笔记】BigInteger 和 BigDecimal 类

BigInteger 和 BigDecimal 类 二者共有的常见方法 方法功能add加subtract减multiply乘divide除 注意点&#xff1a;传参类型必须是类对象 一、BigInteger 1. 作用&#xff1a;适合保存比较大的整型数 2. 使用说明 创建BigInteger对象 传入字符串 3. 代码示例 import j…...