固定位置工具栏iOS Web应用程序

时间:2011-08-10 04:21:59

标签: javascript mobile webkit

我正在开发一个HTML5 Web应用程序,我迫切需要一个javascript替代css'位置:fixed'for< 5台iOS设备。

我偶然发现谷歌的一篇文章解释了他们的GMail移动网络应用的方法:http://code.google.com/mobile/articles/webapp_fixed_ui.html

与许多类似的javascript库一样,据推测,利用触摸事件和webkit变换在容器内移动div,给出了原生滚动的幻觉,并为固定(实际上是绝对的)工具栏留出空间。

我试图实现这个javascript类几乎没有成功......

目前,我遇到了这个错误:

"TypeError: 'undefined' is not an object (evaluating 'this.element.style.webkitTransform = 'translate3d(0, ' + offsetY + 'px, 0)'')"

我通过console.log来确保此时'this.element'实际上是一个元素,它就是。我正确地通过了滚动条div。

我一直在iOS模拟器以及Mac OS X Safari上进行测试,并且还检查了GMail的移动网站,以确保它们也能正常工作 - 他们这样做(尽管我无法保证这确实是,他们使用相同的方法)。

我错过了一些明显的东西吗?有些微妙吗?任何线索都会受到赞赏。

4 个答案:

答案 0 :(得分:1)

jQuery Mobile不支持真正的固定页眉/页脚;滚动时它们会消失,滚动完成后会重新出现。

答案 1 :(得分:0)

jQuery Mobile不仅提供了一组漂亮的跨浏览器小部件,而且还为fixed positioned toolbars提供了一种机制。

答案 2 :(得分:0)

JQmobi做得很好:http://jqmobi.com/testdrive/

答案 3 :(得分:0)

JUery Mobile在解决这个问题方面走了很长的路。

但强制​​您的用户/访问者加载CSS + JS的414kb

对于慢速3G /边缘连接的许多人,您的页面/应用程序将需要10秒+才能加载。 : - (

CSS

试试

body { -webkit-overflow-scrolling: auto; }

阅读详情:http://johanbrook.com/browsers/native-momentum-scrolling-ios-5/