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

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

在页面的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 小时前
宿舍报修|宿舍报修小程序|基于Java微信小程序的宿舍报修系统的设计与实现(源码+数据库+文档)
java·数据库·微信小程序·小程序·论文·毕设·宿舍报修小程序
青茶36011 小时前
uniapp开发微信小程序时如何进行分包(新手图文)
微信小程序·小程序·uni-app
itstrue13 小时前
同城跑腿小程序帮取帮送接单抢单预约取件智能派单同城配送全开源运营版源码优创
小程序·跑腿小程序
一匹电信狗18 小时前
【Linux我做主】进度条小程序深度解析
linux·运维·服务器·c++·ubuntu·小程序·unix
说私域19 小时前
基于开源AI大模型AI智能名片S2B2C商城小程序源码的私域流量稳定性构建研究
人工智能·小程序·开源·零售
万维易源2 天前
OCR身份证识别(正反面)_个人证照OCR识别_开放API接口使用指南
人工智能·小程序·数据分析·ocr
Lonely丶墨轩2 天前
微信小程序
微信小程序
软工的小白2 天前
HBuider中Uniapp去除顶部导航栏-小程序、H5、APP适用
小程序·uni-app
说私域2 天前
基于开源AI大模型与AI智能名片S2B2C商城小程序的线上活动执行优化研究
人工智能·小程序·开源·零售