1

所以我以前在移动浏览器上看到过这个问题,通常只是忽略它。当您拥有一个元素(我认为它的位置并不重要)并将其移出可视区域时,移动浏览器(在我的测试用例 safari 中)添加了滚动到它的能力。我正在制作一个与 mashable.com 网站上几乎相同的滑出菜单。基本上,菜单在主要内容后面是 z-indexed。在点击菜单按钮时,主要内容会向右转换 CSS 以显示菜单。然而,在它滑回之后,iOS 会“记住”屏幕外有一个元素,并且仍然允许用户向右滚动,即使那里什么也没有。

有没有办法(我假设通过 javascript)强制移动浏览器重新计算可视区域或元素所在的位置。一些我可以触发的事件之类的。我一辈子都无法摆脱这个问题。菜单正常工作。我目前的“修复”是防止在触摸移动时向左滑动事件的默认行为。然而,使用这种方法可能会阻止我做我计划的其他事情。

4

1 回答 1

0

我通过将内容设置为 99.9% 宽度来解决它,并在几毫秒后再次删除宽度。

// on closing menu:
if(panel==='closing'){
    $("#content").css('width','99.9%');
    setTimeout(function() {
        $("#content").css('width','');
    },100);
}
于 2013-02-21T14:16:07.547 回答