问题:手机页面,我有个弹出层,层里可以滚动,但是当滚动到最上或最下后再次划屏幕时,背景会滚动,我想要当弹出层出来时只有弹出层里可以滚动,而背景页面不跟着滚动。
弹出层已经被 position:fixed,overflow:auto了,但是滑动时,弹出层有时还是会跟着动,并不是完全固定的。
问题:手机页面,我有个弹出层,层里可以滚动,但是当滚动到最上或最下后再次划屏幕时,背景会滚动,我想要当弹出层出来时只有弹出层里可以滚动,而背景页面不跟着滚动。
弹出层已经被 position:fixed,overflow:auto了,但是滑动时,弹出层有时还是会跟着动,并不是完全固定的。
//阻止事件冒泡
var move = function(e) {
e.preventDefault && e.preventDefault();
e.returnValue = false;
e.stopPropagation && e.stopPropagation();
return false;
}
//wap端取消禁止滚动
function remliste(ele) {
ele.removeEventListener('touchmove', move);
}
//wap端禁止滚动
function addliste(ele) {
ele.addEventListener('touchmove', move);
}
只要整个页面不可滚动, 弹层的滚动条滚动底部或顶部的时候,就不会造成页面滚动了。
加上这段css 就好了。
css
html, boby{ height: 100%; overflow: hidden; }
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
3 回答5.1k 阅读✓ 已解决
5 回答1.9k 阅读
在打开弹窗的时候设置body的样式body{overflow: hidden;},关闭的时候移除样式。记得要确保body有高喔