开发的时候,会遇到产品或者UI发出如下规定:
1、如果是一屏的页面,就禁止页面能上下滑动
2、如果显示弹窗的时候,长屏幕禁止上下滑动!
感叹一句:好变态
当然,感叹归感叹,但是还是得听不是,我找出了3种方式,看看大家喜欢哪个,就用哪个!
第一种方式:
页面最外层的盒子,使用绝对定位!这样页面也就不能滑动了!此方法呢,比较麻烦,写的代码比较多!但是还是能够实现的!源码如下:
position: fixed;
top:0;
left:0;
第二种方式:
在微信小程序app.json的window中,添加”disableScroll”:true,但是要注意,如果你是要在app.json中添加disableScroll,会导致所有页面无法上下滑动,这就是个大bug了,解决也很简单,你想在那个页面禁止页面滑动,就在哪个页面的json下,添加disableScroll就可以了,单独设置就行!代码如下:
//app.json中添加,window里面添加就可以了
"window": {
"disableScroll": true
},
//单独设置,比如index下,就在index.json设置
{
"navigationBarTitleText": "首页",
"disableScroll":true
}
但是有些时候使用disableScroll并不合适,比如一个长页面,我需要弹窗出来的时候,才禁止上下滑动,弹窗隐藏的时候,又可以上下滑动!那就衍生第三个方式
第三种方式:
在弹窗的遮罩层或者内容层的view上,添加catchtouchmove=’true’,这个意思就是,你添加了catchtouchmove view的盒子,用户如果在这个盒子滑动的时候,是不能触发滑动效果的,一定要看清楚字面意思,不然会写错view,导致无效果哦!代码如下:
//弹窗遮罩层
<view catchtouchmove='true'>
</view>
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论(1)
小测试