web移动端浮层滚动带动底层元素滚动问题解决
2017-06-21 10:15
351 查看
当我们写了这样一个结构的时候
box为底层,内容超出滚动,jump为浮层,依然超出滚动,但是当我们再移动端滑动浮层的时候,浮层滑动到最底部或最顶部后就会带动底层box的滑动,这一般不是我们想要的效果。那怎么解决呢?
有一种写法就是给底层box动态添加noscroll属性,在样式里这样写
.box{
width: 100%;
position: absolute;
top: 0;
bottom: 0;
overflow: auto;
}
.noscroll{
overflow: hidden;
}
当滑动浮层的时候动态给box添加noscroll
$p.on('touchstart', function (ev) {
$box.addClass('noscroll');
});
这样滑动浮层时就不会联动到底层box,当关闭的浮层的时候再remove掉noscroll属性即可
$close.on('click', function () {
$box.removeClass('noscroll');
});
<div class="box"> <p> 拉开了就开始的放假老实交代方会计师 拉开了就开始的放假老实交代方会计师 拉开了就开始的放假老实交代方会计师 拉开了就开始的放假老实交代方会计师 拉开了就开始的放假老实交代方会计师 拉开了就开始的放假老实交代方会计师 拉开了就开始的放假老实交代方会计师 拉开了就开始的放假老实交代方会计师 拉开了就开始的放假老实交代方会计师 拉开了就开始的放假老实交代方会计师 拉开了就开始的放假老实交代方会计师 拉开了就开始的放假老实交代方会计师 拉开了就开始的放假老实交代方会计师 拉开了就开始的放假老实交代方会计师 拉开了就开始的放假老实交代方会计师 拉开了就开始的放假老实交代方会计师 拉开了就开始的放假老实交代方会计师 拉开了就开始的放假老实交代方会计师 拉开了就开始的放假老实交代方会计师 拉开了就开始的放假老实交代方会计师 拉开了就开始的放假老实交代方会计师 拉开了就开始的放假老实交代方会计师 拉开了就开始的放假老实交代方会计师 拉开了就开始的放假老实交代方会计师 拉开了就开始的放假老实交代方会计师 拉开了就开始的放假老实交代方会计师 拉开了就开始的放假老实交代方会计师 拉开了就开始的放假老实交代方会计师 拉开了就开始的放假老实交代方会计师 拉开了就开始的放假老实交代方会计师 拉开了就开始的放假老实交代方会计师 拉开了就开始的放假老实交代方会计师 拉开了就开始的放假老实交代方会计师 拉开了就开始的放假老实交代方会计师 拉开了就开始的放假老实交代方会计师 拉开了就开始的放假老实交代方会计师 拉开了就开始的放假老实交代方会计师 拉开了就开始的放假老实交代方会计师 拉开了就开始的放假老实交代方会计师 拉开了就开始的放假老实交代方会计师 拉开了就开始的放假老实交代方会计师 拉开了就开始的放假老实交代方会计师 拉开了就开始的放假老实交代方会计师 </p> </div> <div class="jump"> <p> 了深刻的积分看lsjdkfjslk 了深刻的积分看lsjdkfjslk 了深刻的积分看lsjdkfjslk 了深刻的积分看lsjdkfjslk 了深刻的积分看lsjdkfjslk 了深刻的积分看lsjdkfjslk 了深刻的积分看lsjdkfjslk 了深刻的积分看lsjdkfjslk 了深刻的积分看lsjdkfjslk 了深刻的积分看lsjdkfjslk 了深刻的积分看lsjdkfjslk 了深刻的积分看lsjdkfjslk 了深刻的积分看lsjdkfjslk 了深刻的积分看lsjdkfjslk 了深刻的积分看lsjdkfjslk 了深刻的积分看lsjdkfjslk 了深刻的积分看lsjdkfjslk 了深刻的积分看lsjdkfjslk 了深刻的积分看lsjdkfjslk 了深刻的积分看lsjdkfjslk 了深刻的积分看lsjdkfjslk 了深刻的积分看lsjdkfjslk </p> </div>
box为底层,内容超出滚动,jump为浮层,依然超出滚动,但是当我们再移动端滑动浮层的时候,浮层滑动到最底部或最顶部后就会带动底层box的滑动,这一般不是我们想要的效果。那怎么解决呢?
有一种写法就是给底层box动态添加noscroll属性,在样式里这样写
.box{
width: 100%;
position: absolute;
top: 0;
bottom: 0;
overflow: auto;
}
.noscroll{
overflow: hidden;
}
当滑动浮层的时候动态给box添加noscroll
$p.on('touchstart', function (ev) {
$box.addClass('noscroll');
});
这样滑动浮层时就不会联动到底层box,当关闭的浮层的时候再remove掉noscroll属性即可
$close.on('click', function () {
$box.removeClass('noscroll');
});
相关文章推荐
- 解决移动端web页面整个背景图横向滚动问题
- 解决移动端web页面整个背景图横向滚动问题
- 解决移动端web页面整个背景图横向滚动问题
- 解决移动端web页面整个背景图横向滚动问题
- 解决移动端web页面整个背景图横向滚动问题
- 解决移动端web页面整个背景图横向滚动问题
- 解决移动端web页面整个背景图横向滚动问题
- 解决移动端web页面整个背景图横向滚动问题
- 解决移动端web页面整个背景图横向滚动问题
- 解决移动端web页面整个背景图横向滚动问题
- 解决 hybird 应用中重复获取 WebView,导致页面元素无法识别的问题
- 移动端滚动穿透的问题解决
- 第二篇、倾力总结40条常见的移动端Web页面问题解决方案
- 解决移动端Web安卓机点击输入框,输入法遮挡输入框的问题
- 倾力总结40条常见的移动端Web页面问题解决方案
- 移动端页面滚动穿透问题解决方案
- 移动端模态窗口的滚动和橡皮筋问题解决方案
- css解决滚动弹出层里边的滚动条时带动了整个页面滚动的问题
- 移动端Web页面问题解决方案
- 倾力总结40条常见的移动端Web页面问题解决方案