温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

小程序如何实现自定义弹层禁止页面滚动

发布时间:2021-09-14 18:43:39 来源:亿速云 阅读:198 作者:小新 栏目:大数据

这篇文章主要介绍小程序如何实现自定义弹层禁止页面滚动,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

方案一:通过小程序自定义组件scroll-view实现布局,动态修改scroll-y属性 缺点:布局局限于scroll-view组件,大部分需求都满足不了

方案二: 自定义弹层蒙层或者外层容器添加catchtouchmove事件

```js
<view class='mask-box' catchtouchmove='preventTouchMove'>弹层内容</view>
```
缺点:弹层滑动不了;适用于自定义弹层不滑动的布局

方案三:动态添加给最外层元素添加position:fixed样式

```js
	<view style='{{isMask ? "position:fixed;top:0;left:0;" : " " }}'>内容区</view>
```
缺点:当isMask为true时,页面始终会回到顶部;体验不好

方案四:通过动态修改样式处理(推荐)

原理: 小程序API给我们动态修改page样式,那我们换个思路,最开始给page设置*overflow:hidden*, 最外层布局设置 *overflow:auto* 但是设置height属性时还是有坑。如下:
- *height:100vh* 时,上拉加载、下拉刷新在安卓端失效,ios没问题;适用于当前页面不需要上拉、下拉刷新。
- *page* 设置 *overlfow:hidden;* 时,安卓端页面整体滑动不了;适用于底层布局不需要滑动
*page* 设置 *overflow: visible*, 以上问题均解决

代码如下:wxml

```js
<view class="content {{isMask ? 'page-hidden' : ''}}">

page {
overflow: visible; height: 100%; } .group-buying-list{ height: 100%; overflow: auto; -webkit-overflow-scrolling: touch; } .page-hidden{ overflow: hidden } ```

以上是“小程序如何实现自定义弹层禁止页面滚动”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI