用于隐藏浏览器chrome的JavaScript导致位置:修复了iOS上的错误

时间:2012-03-14 11:07:04

标签: css ios mobile

这是我的网站: http://smartpeopletalkfast.co.uk/pos/

有一个div #nav,它有一个固定的位置。该网站将进行移动优化,因此我使用以下JavaScript隐藏浏览器chrome:

setTimeout(function() { 
window.scrollTo(0, 1) }, 
100);

我在iPhone 3G,iPhone Retina和iPad上查看网站时发现了一个错误。如果单击首页上的“1”进入第三部分,请向下滚动页面,然后单击“<映射'转到地图部分,导航现在包含文本'<过滤器'位置错误。一旦向上或向下滚动,div跳转到正确的位置。

1 个答案:

答案 0 :(得分:1)

在iOS4 / iPhone3GS上没有迎合固定位置....我有同样的问题,带有后退按钮的固定标题,我使用了scrollTo出了问题。后面不起作用,但点击标题下方的链接将被点击我的发现;

根据iOS人员的进一步调查,我们发现它是iOS5上的Safari中的一个错误。

我试过了;

// $('html,body').animate({ scrollTop: scrollto + 'px' }, 'slow')
window.scroll(0,0);

并且看到它实际上在屏幕下方引出了固定标题。点击工作。

所以我把代码换回来了,虽然它在顶部正确地绘制了标题,但是活动点击区域仍然在页面的下方,虽然是不可见的,但是可以点击。

似乎他们已经解决了在iOS6上测试的问题。

我耗尽了所有类型的CSS和DOM操作,删除并重新插入新的标题区域......没有任何作用。

所以我99%肯定发布这个答案。大声笑。虽然我意识到这对你没有帮助。