2012-01-09 79 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