我正在开发一个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的移动网站,以确保它们也能正常工作 - 他们这样做(尽管我无法保证这确实是,他们使用相同的方法)。
我错过了一些明显的东西吗?有些微妙吗?任何线索都会受到赞赏。
答案 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/