2012-01-09 50 views
8

我正在尝试开发一个使用PhoneGap和jQuery Mobile的iPhone应用程序。这个程序有一个Fixed FooterjQuery mobile data-page ='content'ONLY transition

我现在面临的主要问题是内置的页面转换改变了整个页面,要求我在每个页面中输入页脚代码copy/paste

显然,这不是做到这一点的方法。页脚中的任何小改动都必须重复10次以上(10页以上)。

我的问题如下:如何加载页面的“内容”部分(使用幻灯片切换),这样我就不必在所有页面中都有页脚代码了?

回答

5

该功能尚未在jQuery Mobile中提供。您可以为iOS 5设备上的“真实”固定页脚和固定标题打开touchOverflowEnabled选项,但不能用于任何其他设备。

为了实现真正的固定工具栏,浏览器需要要么 支持位置:固定或溢出:汽车。幸运的是,这种支持是 来到移动平台,所以我们可以通过网络标准来实现这一点。 在jQuery Mobile中,我们添加了一个名为 的全局特性,该特性利用了 支持的平台(如iOS5)上的overflow:auto CSS属性。启用时,框架将每个 页面都包装在一个容器中,并使用它自己的内部滚动。这允许我们 将工具栏放置在滚动主体之外,以便他们真正保持 始终固定在适当的位置。

来源:http://jquerymobile.com/demos/1.0/docs/toolbars/bars-fixed.html

可以在一个纲领性的庄园但设置你的页脚,而不是硬编码的每一页:

//bind an event handler to the `pagecreate` event for all `data-role="page"` elements 
$(document).delegate('[data-role="page"]', 'pagecreate', function() { 

    //append a footer to this page (`pagecreate` is only called once per page added to the DOM so you don't have to worry about appending multiple footers to a single page 
    $(this).append('<div data-id="my-fixed-footer" data-position="fixed" data-role="footer">{THE HTML FOR YOUR FOOTER GOES HERE}</div>'); 
}); 

这里是一个演示:http://jsfiddle.net/vNqaG/(公告在HTML窗格中没有硬编码页脚)

-5

I如果您正在Web应用程序中使用数据库,您可以简单地将页脚html添加到数据库中,并在每页上使用PHP加载它。首先,您必须将PHP硬编码到每个页面中,但在此之后,更改页脚所需的只是对数据库的快速编辑。查找MySQL/PHP。

+0

在数据库中存储HTML不是一个好主意。数据库用于数据,而不是HTML视图。随着时间的推移,这可能会造成一个难以维护的混乱局面,因为您的不同担忧不会分离和划分。 – ROFLwTIME 2013-02-15 16:04:19