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

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

在页面的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 方法可能在部分机型上不兼容
  • 动态控制方法更灵活,但实现稍复杂
  • 在弹窗出现时禁止背景滚动是常见需求,可以使用上述方法实现
相关推荐
momodira83 小时前
防溺水作品投票小程序选哪个?
小程序·投票工具·线上制作教程
鲁Q同志6 小时前
微信小程序【uni-file-picker文件预览】
微信小程序·小程序
2601_963869957 小时前
【计算机毕业设计】基于微信小程序的拼车服务系统设计与实现
微信小程序·小程序·课程设计
2501_915909067 小时前
iOS应用性能监控 Instruments工具与崩溃日志分析完整指南
android·ios·小程序·https·uni-app·iphone·webview
人脸核身安全官8 小时前
人脸核身SDK接入实测:H5/小程序常见兼容问题与通过率优化
小程序·人脸识别·人脸比对·活体检测·实人认证·h5人脸核验·旷视
2501_915918411 天前
详解iOS App上架至App Store的全流程步骤与注意事项
android·macos·ios·小程序·uni-app·cocoa·iphone
greenbbLV1 天前
积分兑换商城供应商挑选:避坑要点与靠谱选择解析
前端·小程序
旺仔学长 哈哈1 天前
55384 消防安全教育与逃生演练小程序:知识学习、案例浏览和在线演练一站式实现
学习·小程序·消防教育·逃生演练
虚惊一场1 天前
撤销为什么只需要 pop:用事件重放实现离线台球计分
微信小程序·uni-app
虚惊一场1 天前
从一个小程序到一座工具箱:uni-app 分包与 Flask 微服务实践
微信小程序·uni-app