这是我的网站: http://smartpeopletalkfast.co.uk/pos/
有一个 div #nav 有一个固定的位置。该站点将针对移动设备进行优化,因此我将使用以下 JavaScript 隐藏浏览器 chrome:
setTimeout(function() {
window.scrollTo(0, 1) },
100);
我在 iPhone 3G、iPhone Retina 和 iPad 上查看网站时发现了一个错误。如果您单击首页上的“1”将您带到第三部分,向下滚动页面,然后单击“< map ”转到 map 部分,现在包含文本“<过滤器”的导航是在错误的地方。一旦向上或向下滚动,div 就会跳到正确的位置。
最佳答案
在 iOS4/iPhone3GS 上不适合固定位置....我有同样的问题,一个带有后退按钮的固定标题,我使用 scrollTo 时出错了。背面不起作用,但可以单击标题下方的链接我在下面的发现;
在与 iOS 人员的进一步调查中,我们发现这是 iOS5 上的 Safari 中的一个错误。
我试过了;
// $('html,body').animate({ scrollTop: scrollto + 'px' }, 'slow')
window.scroll(0,0);
并且看到它实际上将固定标题绘制在屏幕下方。随着点击工作。
所以我换回了代码,虽然它在顶部正确地绘制了标题,但事件点击区域仍然在页面的更下方,虽然不可见,但可以点击。
他们似乎已经解决了在 iOS6 上的测试。
我用尽了各种 CSS 和 DOM 操作、删除并重新插入新的标题区域……没有任何效果。
所以我有 99% 的把握发布这个答案。哈哈。虽然我知道这对你没有帮助。
关于css - 用于隐藏浏览器 chrome 的 JavaScript 导致位置 : fixed bug on iOS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9700718/