H5出现蒙版后,禁止屏幕滚动

本文介绍如何在H5页面显示蒙版时禁用屏幕滚动功能,通过修改HTML及body元素的overflow属性来改善用户体验。
H5出现蒙版后,禁止屏幕滚动;
在移动端编写项目的时候,我们会自己做一些蒙版类的提示框。当提示框出现的时候我们要禁止屏幕滚动,否则用户的体验感很差。
如下图
H5出现蒙版后,禁止屏幕滚动
我们需要改变 html和body的overflow属性
mengban 出现function(){
$("html").add("body").css({"overflow":"hidden"})
}
别忘了关闭蒙版的时候要变回 auto

在uni-app中禁止页面滚动有以下几种实现方法: 1. **APP平台禁止页面滑动**:若要禁止APP平台页面上下滚动,可在该页面的`style`中进行配置,此配置仅对该页有效。示例代码如下: ```json { "path": "pages/login/login", "style": { "app-plus": { "bounce": "none" } } } ``` 此配置会禁止APP平台上该页面的滚动效果[^1]。 2. **禁止遮罩层下的页面滚动**:若需要禁止下的页面滚动,可在遮罩层的`view`元素上添加`@touchmove.stop.prevent`事件处理。示例代码如下: ```vue <view class="mask" @touchmove.stop.prevent="moveHandle"></view> ``` 这里的`view`即为遮罩层,通过这种方式可以阻止触摸移动事件传递到下层页面,从而禁止下层页面滚动[^2]。 3. **HBuilder X和微信小程序禁止页面滚动**:可在模板中使用`catchtouchmove`属性来禁止页面滚动。示例代码如下: ```vue <template> <view> <view class="zhemu" catchtouchmove="true"></view> <view class="gun">滚动区域</view> </view> </template> <script> export default { data() { return {} }, methods: {} } </script> <style scoped> .zhemu { position: fixed; top: 0; left: 0; width: 100%; height: 100vh; z-index: 98; background-color: rgba(0, 0, 0, 0.4); } .gun { height: 2000rpx; background-color: white; } </style> ``` 在这个例子中,`catchtouchmove="true"`阻止了触摸移动事件,使得页面无法滚动。该方法在HBuilder X和微信小程序上有效,在手机真机测试时页面也不会滚动[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值