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

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

在页面的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 方法可能在部分机型上不兼容
  • 动态控制方法更灵活,但实现稍复杂
  • 在弹窗出现时禁止背景滚动是常见需求,可以使用上述方法实现
相关推荐
speedoooo7 小时前
在现有App里嵌入一个AI协作者
前端·ui·小程序·前端框架·web app
万岳科技系统开发14 小时前
私域直播小程序源码的整体架构设计与实现思路
学习·小程序
ee82ee14 小时前
uniapp小程序底部键盘唤起问题处理,包含间隙处理,动画处理
微信小程序
qq_124987075315 小时前
基于springboot健康养老APP的设计与实现(源码+论文+部署+安装)
java·spring boot·后端·mysql·微信小程序·毕业设计
汤姆yu16 小时前
基于微信小程序的驾校预约与学习系统
学习·小程序·驾校预约
夏源16 小时前
【微信小程序】实现引入 Echarts 并实现更新数据
微信小程序
speedoooo17 小时前
未来的App不再需要菜单栏?
前端·ui·容器·小程序·web app
猿究院_xyz17 小时前
微信小程序与echarts联动安卓真机测试出现黑色阴影
前端·javascript·微信小程序·小程序·echarts
说私域18 小时前
不同类型企业构建私域流量的必要性及定制开发AI智能名片商城小程序的应用
大数据·人工智能·小程序
老华带你飞20 小时前
健身房预约|基于springboot 健身房预约小程序系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·后端·小程序