在安卓系统的webview下写的页面,各种版本包括4.4,当弹出一个半透明全屏的弹框后,这时在PC上滚动条应该是不可用的,但是在webview下,在弹框上用手指滑动,弹框下面的页面是会跟着动的。不知道有没有人能解决,去谷歌也不知道用什么关键词,百度真是坑爹 = =! 求大神指点
在安卓系统的webview下写的页面,各种版本包括4.4,当弹出一个半透明全屏的弹框后,这时在PC上滚动条应该是不可用的,但是在webview下,在弹框上用手指滑动,弹框下面的页面是会跟着动的。不知道有没有人能解决,去谷歌也不知道用什么关键词,百度真是坑爹 = =! 求大神指点
禁用弹框下页面滚动
.alpha {
height: 100%;
overflow: hidden;
position: relative;
}
.alpha body {
height: 100%;
overflow: hidden;
}
当你遮盖弹出的时候或者隐藏的时候让 html 切换 class alpha
$('html').toggleClass('alpha');
document.body.style.overflow = 'hidden';
http://stackoverflow.com/questions/2469529/how-to-disable-scrolling-th...
当弹出 弹框的时候,给body设置overflow: hidden;
$('body').css('overflow','hidden');
弹框消失的时候,overflow: initial;
$('body').css('overflow','initial');
8 回答4.7k 阅读✓ 已解决
6 回答3.4k 阅读✓ 已解决
5 回答2.8k 阅读✓ 已解决
5 回答6.3k 阅读✓ 已解决
4 回答2.2k 阅读✓ 已解决
5 回答1.3k 阅读✓ 已解决
4 回答2.8k 阅读✓ 已解决
终极解决答案... 经过一年多的探索... 给大家一个答案... 我也是日了狗了...
<body> <ui-view class="container" style="display: block; height: 100%; overflow: auto"></ui-view> <div id="showDetail" class="show-detail" ng-show="showDetail" ng-include="'showDetail.html'"></div> </body>
这里 ui-view这个标签是正常显示的,点击上面的元素后弹出showDetail。
一次无意间的测试,在ui-view的标签上加了一个overflow:auto 滚动就不穿透了...
如果不在对应的需要滚动的容器上,加这个样式的话,最后滚动条会在body上。
射了这个样式的话 window.on('scroll') 也会失效。这个时候要监听container上的scroll