zoukankan      html  css  js  c++  java
  • 解决微信小程序滑动遮罩时底层跟着滑动的问题

    (开发小程序的时候用的是mpvue框架 + wux组件 + vue)

    开发小程序的时候碰到过这么一个比较坑的问题:打开自定义弹窗的时候,滑动遮罩时底层的内容会随着手指滑动而发生滑动(即滚动穿透),这点在安卓系统上问题还不是很大,在ios系统上时简直让人抓狂

    如:手指滑动截图中的遮罩,或者弹窗中的空白区域(红框区域),底层页面也会发生滚动,在IOS上,如果底层的滚动不停止,则弹窗中的内容无法滑动。。。

    我的解决方案如下:

    第一步:先找到pages.js文件设置 disableScroll: true

     这一步的目的就是禁止页面滚动

    第二步:由于第一步的设置会导致页面无法滚动,如果页面内容的高度超出屏幕的高度就无法看到超出的内容了,此时需要在页面中使用微信小程序的scroll-view组件

    <scroll-view :scroll-y="isScrollAble" :style="scrollViewHeight">
        <!-- 需要展示的内容 -->
    <scroll-view>

    在script中初始化一下

    data() {
      return {
           isScrollAble: true,
           scrollViewHeight: ''      
        }  
    }

    然后在methods中写一个获取手机屏幕的高度的方法,然后在onLoad()中调用一下

    get_window_height() {
      const self = this
       wx.getSystemInfo({
            success(res) {
               self.scrollViewHeight = 'height:' + res.windowHeight + 'px;'
            }
        })
    }

    最后,在触发自定义弹窗组件打开的时候,设置一下isScrollAble为false(禁止滚动),关闭的时候则设置为true(开启滚动)即可

    PS:因为我用的是第三方框架进行的小程序开发,如果使用的是小程序原生的话部分语法需要相应的修改

  • 相关阅读:
    Go 笔记之如何防止 goroutine 泄露
    调试 Go 的代码生成
    使用k8s容器钩子触发事件
    springboot教程
    Intellij IDEA 使用Spring-boot-devTools无效解决办法
    c# WMI获取机器硬件信息(硬盘,cpu,内存等)
    各式 Web 前端開發工具整理
    Informix 中执行多条SQL(Execute Script)
    Log4Net
    mysql 按年度、季度、月度、周、日SQL统计查询
  • 原文地址:https://www.cnblogs.com/SinW/p/11685865.html
Copyright © 2011-2022 走看看