jQuery Mobile 和固定页脚

Posted

技术标签:

【中文标题】jQuery Mobile 和固定页脚【英文标题】:jQuery Mobile and a fixed footer 【发布时间】:2011-10-31 09:21:48 【问题描述】:

我有一个用PhoneGap 包装的jQuery 移动应用程序。我正在尝试使用固定的页脚和页眉,但页脚有一些问题。 如果我有 X 长度的内容,然后单击后内容更小 - 页脚会向上移动而不是粘在屏幕底部。如果我点击屏幕,它会回到原来的位置。

你知道为什么会这样吗?

我的页脚代码是:

<div data-role="footer" data-position="fixed" data-id="footer_main">
    <div data-role="navbar">
        <ul class="navbar">
            <li><a href="#home" data-icon="home" class="search">Home</a></li>
            <li><a href="#bycity" data-icon="search" class="search2">City</a></li>
        </ul>
    </div><!-- /navbar -->
</div><!-- /footer -->

这个问题会在 android 和 iPhone 上以几乎相同的方式发生(iPhone 可能更多)。

顺便说一句 - 我正在使用 jQuery mobile "jquery.mobile-1.0b2" 和 PhoneGap 1.0

【问题讨论】:

这是一个 jquery 移动问题。暂时没有解决办法。 等待 b3, ... 和最终版本 即使在 1.0RC2 中它仍然是一个悬而未决的问题 【参考方案1】:

尝试在页脚中添加一个类:

<div class=”footer” data-role="footer" .....>

并将以下函数添加到您的点击事件中:

$('.footer').trigger('create');

应该是这样的:

$('.class').click(function() 

    $('.footer').trigger('create');

);

【讨论】:

【参考方案2】:

我也有同样的问题。当用户单击显示导航按钮时,我的导航将被隐藏并显示。

问题是,JQM 计算并为页脚位置设置动画,而不是使用 position:fixed;底部:0;

我敢肯定,他们的选择是有原因的。但我不知道它是什么。 而且我发现没有重新定位页脚顶部位置的功能。 $('.footer').trigger('create'); ..不适合我。

【讨论】:

【参考方案3】:

您可以通过向其添加 CSS 属性将页脚固定在底部。

bottom:0;
position:absolute !important; 
top: auto !important; 
width:100%;

【讨论】:

【参考方案4】:

像这样将 style="position: absolute" 添加到页脚 div:

<div data-role="footer" data-position="fixed" style="position: absolute">

【讨论】:

以上是关于jQuery Mobile 和固定页脚的主要内容,如果未能解决你的问题,请参考以下文章

jquery mobile中的固定标题滚动/拖动

jquery mobile在键盘时隐藏固定页脚

iOS 7 Safari 干扰 jQuery Mobile 页脚

在 Jquery mobile 中,页眉和页脚总是隐藏,在页面内单击时?

jQuery Mobile-Phonegap:Windows 8 横向模式下的页脚对齐问题

Phonegap,jQuery Mobile,Android,文本输入后不再固定工具栏