javascript - Phonegap 2.8 位置 : fixed is not working properly

标签 javascript html css cordova

在花了 16 个小时并向各种神灵献祭小动物之后,我必须遗憾地说,我正处于精神崩溃的边缘。

我正在为 Android 编写一个 PhoneGap 2.8 应用程序(将来会移植到 iOS)。作为主要框架,我使用 jQuery(带有许多插件)、Require、Underscore 和 Backbone。 在一个致命的早晨,我接到了一项任务,我的应用程序的标题菜单必须“模仿”facebook 应用程序标题的方式(跟随滚动)。

最初我认为将“position:fixed”属性添加到标题 div 会很简单 - 我从来没有错过。事实证明,position:fixed css 属性在 WebView 中不能正常工作,这个问题已经存在多年了。 这个问题已经在各种论坛和文章中进行了详细讨论,并且已经提出了各种“解决方案” - 没有一个适用于我的情况。

我试图在滚动时将页眉的位置设置为固定,在滚动完成时设置为绝对。理论上它可以工作,但它是滞后的。 尝试过后,我研究了可能对这种情况有所帮助的不同插件或框架。 iScroll - 将指定的结构强制为 html 并且严重缺乏文档使我远离它。 jQueryMobile - 因为它是一个完整的框架,所以将它集成到我的元素中意味着要改变很多东西。据我了解,它不会提供持久 header 。

我听说过 Bartender 和 GloveBox,但它们都没有文档,也没有持续开发(最后一次提交 > 岁)。

使用 jsHybugger 我在标题就位时检查了标题:修复了我注意到覆盖在检查器中选择的 div 的蓝色框停留在标题的点击区域。因此,如果我滚动,标题会随着视口(viewport)移动,但 hitarea 会保持原位。这让我想知道,是否有办法强制WebView重新计算点击区域?

非常感谢所有帮助。

最佳答案

因此,灵感来自 this link , 我做了一个快速 fiddle关于在没有 position:fixed 的情况下如何工作。请注意, fiddle 与此处的代码不同,它只是说明了它应该如何工作。

HTML

<div class="page-wrapper">
    <div class="header"><h3>header</h3></div>
    <div class="content-wrapper">
        <div class="content">
          <!-- Your content goes here -->
        </div>
    </div>
</div>


CSS

body {
    height: 100%;
    padding: 0;
    margin: 0;
}

.page-wrapper {
    margin: 0;
    padding: 0;
    width: 100%;
    height: 100%;
    position: relative;
    overflow: hidden;
}

.header {
    position: absolute;
    top:0;
    left:0;
    right:0;
    padding: 3px 0;
    color: #FFF;
    background: #000;
    text-align: center;
}
.content-wrapper {
    position: absolute;
    padding:0;
    top: 65px;
    left: 0;
    right: 0;
    bottom:0;
    background: #CCC;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
}

.content {
    padding: 15px;
}

关于javascript - Phonegap 2.8 位置 : fixed is not working properly,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19131487/

相关文章:

javascript - 未捕获的类型错误 : Cannot read property 'className' of undefined

css - 使用 Twitter Bootstrap 在菜单上进行响应式设计

HTML+CSS 生成的 .pdf 文件在不同的计算机上有不同的布局?

javascript - 触发从 iframe 到父文档的自定义事件

javascript - 如何在自定义指令中使用 ngChange

javascript - .split(正则表达式)的行为与始终全局扫描相同

android - 如何使用 html5 音频元素在 Android 上播放实时 AAC 流

html - 如何避免在 CSS float 中换行

css - 文本对齐不适用于一段文本

CSS:帮助在 Chrome/Safari 中定位裁剪图像。 IE 和 FireFox 看起来不错