小程序弹窗禁止底部内容滚动

因公司业务需求:需要布局一个页面是底部一张图片position:fixed;z-index= -1固定在底部,然后上面一个html文件可上下拖动做到视觉差,手动写一个弹窗后底部内容还是可以滚动,因为弹窗里面的内容有textarea,textarea的placeholder会根据屏幕的滚动而滚动,这就贼吓人了,找了各种方法,给最外层套个view设置overflow:hidden,position:relative会导致页面滚动到顶部,确实不会滚动了。但是页面滚动到顶部这个效果就不太好了,用户滚动到底部了 然后一个弹窗弹起,又把页面滚动到顶部了,所以这种效果是不行的。
后来尝试在浏览器调试给page加上overflow:hidden发现可行,比如弹起的时候给page加上overflow:hidden,隐藏的时候去掉,
但是官方并没有给我们操作page的方法。
最后尝试了各种方法,找到了一个好东西

catchtouchmove="preventTouchMove"


   <-- 给你的弹窗加上这个东西,他会阻止页面滚动 -->
  
    
      
        
      
      填写报名信息
    
    
      
        
          联系电话
          
        
        
          验证码
          
          {{btnText}}
          
        
        
          姓名
          
        
        
          留言
          
          {{countNum}}/140
        
      
    
    极速报名
  


preventTouchMove () {}

为什么是空方法?因为要结合界面wxml看,蒙层view里有一个事件绑定catchtouchmove="preventTouchMove"。这样写的原因是阻断事件向下传递,避免在弹窗后还可以点击或者滑动蒙层下的界面。如果不这样写的话,如果主界面是一个可以滚动的界面,想想看,当弹窗弹出的时候用户还可以操作滚动列表,我想你的产品经理会来找你的。
好了大家有什么问题欢迎邮件[email protected]或者QQ8662054

青团社招聘:

招聘岗位:高级前端开发工程师P5及以上

简历投递到:[email protected] || [email protected]

职位描述:

1、建设工具、提炼组件、抽象框架,促进前端工程化、服务化,持续提升研发效率,保障线上产品质量

2、构建H5/PC应用基础设施,主导建设前端各种发布/监控等平台,指导落实解决方案

3、持续优化前端页面性能,维护前端代码规范,钻研各种前沿技术和创新交互,增强用户体验、开拓前端能力边界

作者:一个被床封印的程序猿
链接:https://www.jianshu.com/p/9a1c91e1e435
来源:
著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

你可能感兴趣的:(小程序弹窗禁止底部内容滚动)