css遮罩层上面的弹框里面的内容可以滑动,外面的页面不可以滑动保持之前滑动的位置不变

来源:互联网 发布:sql语句日期加一天 编辑:程序博客网 时间:2024/05/05 12:08

前言

最近做手机端用到了一个弹框里面的滑动,就是点弹框时外面一层的位置保持在之前滑动的位置,点取消滑动时恢复到之前滚动的位置

不断地积累

废话不多说啦。直接来看张图吧?
这里写图片描述

现在开始撸代码啦!
css部分:
.ruleBg{display: none}
.ruleMask{
z-index:99;
background: rgba(0, 0, 0, 0.54);
top:0;
left: 0;
width: 100%;
height: 100%;
}//这是遮罩层
.ruleContent{
position: fixed;
width:628px;
height:780px;
background: #fff;top:calc((100% - 780px)/2);
left:calc((100% - 628px)/2);
border-radius: 10px
}//这是弹框
jq部分:
获取到此时的滚动的距离是多少: var scroll=0;
当打开遮罩层和弹框时
function ruleOpen(e){
(.ruleBg).show();scroll=(window).scrollTop();
$(‘html’).css({‘overflow’:’hidden’,’position’:’fixed’,’top’:’- ‘+scroll+’px’})
获取到里面的top值。和让html不滑动
}
当关闭遮罩层和弹框时:
function ruleColse(){
(.ruleBg).hide();(‘html’).css({‘overflow’:’auto’,’position’:’static’});
$(window).scrollTop(scroll);
让html恢复可以滑动。并且恢复到弹框之前的滚动的距离
}

好啦。我的分享就到这里结束啦。希望可以帮助到大家

原创粉丝点击