web中弹出弹框后,要求滚动弹框内容时,背景元素不能滚动,关闭弹框后要求背景元素位置保持不变解决方案

解决方案:用js动态设置body、body的子元素pageview包层的样式,代码如下:
html代码:

<body>
<div class="pageview"></div>
</body>

js/jQuery代码:

$('#dlg_btn__open').click(function () {
    // ...其他处理
    var st = $(window).scrollTop();
    $('body').css({ height: '100%', overflowY: 'hidden' }); // 背景固定
    $('.pageview').css({ position: 'fixed', top: (-1 * st) + 'px' }); // 背景固定
});
$('#dlg_btn__close').click(function () {
    // ...其他处理
    var st = $('.pageview').css('top').replace('-', '').replace('px', '');
    $('body').css({ height: 'auto', overflowY: 'visible' });// 取消背景固定
    $('.pageview').css({ position: 'relative', top: 0 });// 取消背景固定
    window.scrollTo(0, st);// 滚到原来位置
});
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值