解决方案:用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);// 滚到原来位置
});