【发布时间】:2013-10-02 06:57:36
【问题描述】:
在花了 16 个小时并为各种神灵献祭了小动物之后,我必须遗憾地说我正处于精神崩溃的边缘。
我正在为 Android 编写一个 PhoneGap 2.8 应用程序(将来会移植到 iOS)。作为主要框架,我使用 jQuery(带有许多插件)、Require、Underscore 和 Backbone。 在一个致命的早晨,我接到了一项任务,即我的应用程序的标题菜单必须“模仿”facebook 应用程序标题的方式(跟随滚动)。
最初,我认为在标题 div 中添加“position:fixed”属性会很简单——如果我从来没有更错的话。事实证明,position:fixed css 属性在 WebView 中无法正常工作,并且该问题已经持续多年。 这个问题已经在各种论坛和文章中进行了详细讨论,并且已经提出了各种“解决方案”——在我的情况下都没有。
我试图在滚动时将标题的位置设置为固定,在滚动完成时将其设置为绝对。理论上它有效,但它是滞后的。 在尝试过之后,我研究了可以在这种情况下提供帮助的不同插件或框架。 iScroll - 将指定的结构强制为 html 并且严重缺乏文档让我远离它。 jQueryMobile - 因为它是一个完整的框架,所以将它集成到我的项目中意味着要改变很多东西。据我了解,它不会提供持久的标头。
我听说过 Bartender 和 GloveBox,但它们都没有文档,而且它们也没有持续开发(最后一次提交是 > 岁)。
使用 jsHybugger 我检查了标题是否就位:修复了一个我注意到覆盖在检查器中选择的 div 的蓝色框停留在标题的单击区域所在的位置。因此,如果我滚动,标题会随着视口移动,但 hitarea 会保持原位。这让我想知道,是否有办法强制 WebView 重新计算点击区域?
非常感谢所有和任何帮助。
【问题讨论】:
-
也许这个答案有帮助:stackoverflow.com/questions/14267527/…
标签: javascript html css cordova