弹窗弹出时页面不能滚动
在做移动端业务的时候,经常会有弹出弹窗组件的需求,如dialog、toast,有一个用户体验是弹窗弹出后,用户手指滑动页面的时候,原始页面应该是不能再滚动的,而弹窗内的滚动又是可以滚动的,那么如何在来屏蔽页面滚动,释放弹窗内的滚动呢,首先想到的是给html、body标签添加class使其overflow:hidden;这样做的问题是:手机端用户滚动到屏幕一定位置后再去触发弹窗,这时候设置overflow:hidden的属性,页面会滚到页面顶部,这样肯定是不行的,这里用js去禁用touchmove事件的默认行为,而弹窗内的滚动又做一下差异处理,代码如下(zeptojs实现):
|
|
很小的一个产品体验细节,但是好的产品都是慢慢通过细节来打磨的~