将主体设置到位置时固定滚动位置:固定(ios)

时间:2015-10-09 23:00:40

标签: jquery ios scroll webkit fixed

好的,所以我有一个带有按钮的页面,它使用jQuery激活叠加层。为了防止叠加层后面的内容在iPhone等设备上滚动,我使用以下代码将“body”类切换为设置为position的一个:fixed,overlay:hidden。

<script>
$(document).ready(function(){
    $("#filter-btn, .close-filter").click(function(){
        $("body").toggleClass("fix");
    });
});
</script>

这是有效的,除了点击按钮激活叠加层的事实,页面返回顶部,这不是我想要的 - 我希望保留当前滚动位置。

我猜我需要在这里使用一些JS来获取滚动位置并将其固定到位,然后在关闭叠加层时禁用它。事情是,我不确定如何。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

身体将“滚动”到顶部,因为它被固定在顶部。

尝试:

$('html, body').css({'overflow': $('html, body').css('overflow')=='hidden'?'auto':'hidden'});