好的,所以我有一个带有按钮的页面,它使用jQuery激活叠加层。为了防止叠加层后面的内容在iPhone等设备上滚动,我使用以下代码将“body”类切换为设置为position的一个:fixed,overlay:hidden。
<script>
$(document).ready(function(){
$("#filter-btn, .close-filter").click(function(){
$("body").toggleClass("fix");
});
});
</script>
这是有效的,除了点击按钮激活叠加层的事实,页面返回顶部,这不是我想要的 - 我希望保留当前滚动位置。
我猜我需要在这里使用一些JS来获取滚动位置并将其固定到位,然后在关闭叠加层时禁用它。事情是,我不确定如何。
有什么想法吗?
答案 0 :(得分:0)
身体将“滚动”到顶部,因为它被固定在顶部。
尝试:
$('html, body').css({'overflow': $('html, body').css('overflow')=='hidden'?'auto':'hidden'});