禁止页面滚动的方法-微信小程序

在微信小程序中,有几种方法可以禁止页面滚动:
一、通过页面配置禁止滚动

在页面的JSON配置文件中设置,此方法完全禁止页面的滚动行为:

bash 复制代码
{
  "disableScroll": true
}

二、通过 CSS 样式禁止滚动

在页面的WXSS文件中添加:

css 复制代码
page {
  height: 100%;
  overflow: hidden;
}

或者针对特定元素:

css 复制代码
.scroll-container {
  height: 100vh;
  overflow: hidden;
}

三、JavaScript动态控制滚动

javascript 复制代码
// 禁止滚动
wx.pageScrollTo({
  scrollTop: 0,
  duration: 0
})
// 或者在页面中设置
this.setData({
  canScroll: false
})
html 复制代码
<scroll-view scroll-y="{{canScroll}}" style="height: 100vh;">
  <!-- 页面内容 -->
</scroll-view>

四、使用catchtouchmove事件

html 复制代码
<view catchtouchmove="preventScroll">
  <!-- 内容 -->
</view>
javascript 复制代码
preventScroll: function() {
  return false;
}

注意事项

  • 使用 disableScroll 配置会禁止整个页面的滚动,包括下拉刷新
  • CSS 方法可能在部分机型上不兼容
  • 动态控制方法更灵活,但实现稍复杂
  • 在弹窗出现时禁止背景滚动是常见需求,可以使用上述方法实现
相关推荐
低代码布道师6 小时前
加油站小程序实战教程10开通会员
前端·javascript·低代码·小程序
傻小胖7 小时前
UniApp 实现兼容 H5 和小程序的拖拽排序组件
小程序·uni-app
咕噜签名12 小时前
运行小程序需要选择什么配置的服务器
运维·服务器·小程序
玲子的猫15 小时前
微信小程序实现table样式,自带合并行合并列
微信小程序·小程序·notepad++
大叔_爱编程1 天前
wx212基于ssm+vue+uniapp的科创微应用平台小程序
vue.js·小程序·uni-app·毕业设计·ssm·课程设计·科创微应用平台小程序
FinClip1 天前
凡泰极客亮相QCon2025鸿蒙专场,解析FinClip“技术+生态”双引擎
微信小程序
2401_890666131 天前
免费送源码:Java+ssm+MySQL 校园二手书销售平台设计与实现 计算机毕业设计原创定制
java·spring boot·python·mysql·小程序·php·课程设计
Good Lucky1 天前
Skyline配置指南-微信小程序
chrome·微信小程序·小程序·skyline
code袁1 天前
基于微信小程序的校园跑腿系统的设计与实现
微信小程序·小程序·校园跑腿小程序·notepad++·小程序开发·校园跑腿小程序开发
27669582921 天前
哈喽打车 小程序 分析
小程序·哈喽打车·哈喽租车·哈喽·打车·小程序哈喽