经过16个小时的努力和祭拜各种神灵,我不得不遗憾地说,我快要崩溃了。
我正在为Android编写一个PhoneGap 2.8应用程序(未来将移植到iOS)。我使用的主要框架是jQuery(带有许多插件),Require,Underscore和Backbone。
在一个致命的早晨,我收到了一个任务,即我的应用程序的标题菜单必须“模仿”Facebook应用程序的标题菜单(跟随滚动)。
最初,我认为将“position:fixed”属性添加到标题div中足够简单-我从来没有更错了。事实证明,WebView中的position:fixed css属性无法正常工作,并且这个问题已经存在多年了。 这个问题已经在各种论坛和文章中进行了详细讨论,并提出了各种“解决方案”-但在我的情况下都不起作用。
我尝试在滚动时将标题的位置设置为固定,并在滚动完成后将其设置为绝对。理论上它可以工作,但是它很卡顿。 尝试过之后,我研究了一些可以帮助解决问题的插件或框架。 iScroll-强制指定html结构和严重缺乏文档使我放弃了它。 jQueryMobile-由于它是一个完整的框架,将其集成到我的项目中意味着改变很多东西。据我所知,它不会提供持久的标题菜单。
我听说过Bartender和GloveBox,但它们都没有文档,并且它们没有在不断发展(最后提交时间>一年)。
使用jsHybugger,当标题处于position:fixed时,我检查了它,我注意到覆盖div的蓝色框在检查器中被选中,停留在头部的点击区域。因此,如果我滚动,标题将随视口移动,但命中区域保持不变。这让我想知道,是否有一种方法可以强制WebView重新计算点击区域?
非常感谢任何帮助。