JQuery移动页脚未正确固定到屏幕底部。在正常行为中,他们跟随底部滞后。在大多数情况下,它仍然非常多(它没有显示在屏幕的底部)。
我的问题是为什么会这样?
考虑到:
答案 0 :(得分:2)
从发行说明:
iOS5:显着改进了页面过渡和真正的固定工具栏
该团队花费了大量时间努力改进 转换和固定工具栏,因为我们知道这些很重要 开发人员的功能。花了几百个小时后工作 精益求精,我们现在相信实质性的道路, 这些领域的跨平台改进只能在移动时发生 平台本身开始支持溢出属性。 基于JavaScript的动量滚动脚本太重,没有响应 和狭隘的兼容,成为一种前进的方式。
这就是为什么我们对iOS5的upcoming support感到非常兴奋 触摸目标版本的溢出:自动,并适当支持 position:fixed,允许内部滚动区域 原生动力滚动CSS。在Beta 3中,我们添加了一个 增强层将利用这些新的CSS功能 使我们能够带来真正“固定”的工具栏和超级流畅的工具栏 iOS5中的过渡,都是通过使用Web标准而非常少 附加代码。
答案 1 :(得分:2)
您可以使用一些JavaScript可滚动内容插件来创建一个不吸引人的固定页脚:
我确信还有更多,但这三个我已经取得了一些成功。我已经决定亲自使用iScroll了。
要获得一个不错的固定页脚,您可以将标题设置为position: absolute
和top: 0
,将页脚设置为position: absolute
和bottom: 0
,然后将内容区域设置为position: absolute
,top: <bottom of header>
和bottom: <top of footer>
。
我发现的一个问题是将文档设置为100%高度将不允许地址栏滚动到视图之外。要解决此问题,当load
事件在window
对象上触发时,我将文档的高度设置为比屏幕高度(window.innerHeight
)多100px。然后我滚动到页面顶部($.mobile.silentScroll(0)
),并设置超时以将文档的高度重置为100%。
$(window).bind('load', function () {
$.mobile.activePage.css({
height : (window.innerHeight + 100) + 'px',
'min-height' : (window.innerHeight + 100) + 'px'
}).find('[data-role="footer"]').css({
bottom : '100px'
});
$.mobile.silentScroll(0);
setTimeout(function () {
$.mobile.activePage.css({
height : '100%',
'min-height' : '100%'
}).find('[data-role="footer"]').css({
bottom : '0px'
});
if ($.mobile.activePage[0].id in myScroll) {
myScroll[$.mobile.activePage[0].id].refresh();
}
}, 750);
});
上面的例子:
每当方向发生变化时,我也会在窗口对象上触发加载事件:
$(window).bind('orientationchange', function () {
$(window).trigger('load');
});
答案 2 :(得分:0)
我正在使用Jquery.Mobile 1.2alpha,似乎不再是一个问题了。 data-position-'fixed'
效果很好
<footer data-role="footer" data-position="fixed">
<div data-role="navbar">
<ul>
<li><a href="#" onclick="$.mobile.changePage('/url/1');">Url 1</a></li>
<li><a href="#" onclick="$.mobile.changePage('/url/2');">Url 2</a></li>
<li><a href="#" onclick="$.mobile.changePage('/url/3');">Url 3</a></li>
<li><a href="#" onclick="$.mobile.changePage('/url/4');">Url 4</a></li>
</ul>
</div>
</footer>
如果您正在为包装应用开发,请禁用“webview跳出”的其他建议。 http://community.phonegap.com/nitobi/topics/uiwebview_bounce
答案 3 :(得分:0)
固定页脚解决方案对我有用:
<div data-role="footer" data-position="fixed" style="position: absolute">