移动端问题总结

移动端开发过程中碰到的问题,持续更新中...

一、 穿透问题(滚动条丢失)

在开发弹框组件,或者抽屉组件时,我们会碰到一个问题,就是要确保浮层下面的内容不能滚动,对于这个问题,有两种解决方案

  1. 不需要滚动的组件 这个方法是直接禁止滑动的默认事件,因此弹框和浮层下面的body都无法滚动
    	<div @touchmove.prevent="stopScroll">
    	</div>
    	method: {
    		stopSroll() {
    			event.preventDefault()
    		}
    	}
    
  2. 需要滚动的组件 watch控制当前组件的status,为当前body和html设置overflow:hidden, 必须都设置才行
    	watch: {
    		status() {
    		  //禁止列表滚动
    		  if (this.status) {
    			// 保存滚动条的高度
    			this.scrollTop = document.scrollingElement.scrollTop
    			document.body.style.overflow = 'hidden'
    			document.querySelector('html').style.overflow = 'hidden'
    			document.body.addEventListener('touchmove', this.preventDefault(event), false)
    		  } else {
    			document.body.style.overflow = ''
    			document.querySelector('html').style.overflow = ''
    			document.body.removeEventListener('touchmove', this.preventDefault(event), false)
    			document.scrollingElement.scrollTop = this.scrollTop
    		  }
    		}
    	  }
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值