2012-01-09 29 views
8

Tôi đang cố gắng phát triển một ứng dụng iPhone bằng cách sử dụng PhoneGap và jQuery Mobile. Ứng dụng này có Fixed Footer.Chuyển dữ liệu di động jQuery page-'content' CHỈ

Vấn đề chính mà tôi đang gặp phải là chuyển đổi trang được tích hợp sẽ thay đổi TRANG TOÀN BỘ, yêu cầu tôi nhập copy/paste mã chân trang trong mỗi trang.

Rõ ràng, đây không phải là cách để làm điều đó. Bất kỳ thay đổi nhỏ nào trong chân trang phải được nhân đôi 10+ lần (cho hơn 10 trang).

Câu hỏi của tôi như sau: làm cách nào tôi có thể tải chỉ phần "nội dung" của trang (với chuyển đổi trang trình bày) vì vậy tôi sẽ không phải đặt chân trang trong tất cả các trang của mình?

Trả lời

5

Chức năng đó chưa có sẵn trong jQuery Mobile. Bạn có thể bật tùy chọn touchOverflowEnabled cho chân trang cố định "thực" và tiêu đề cố định trên thiết bị iOS 5 nhưng không cho bất kỳ thiết bị nào khác.

Để đạt được thanh công cụ cố định đúng, trình duyệt cần phải vị trí hỗ trợ: cố định hoặc tràn: tự động. May mắn thay, hỗ trợ này là đến với nền tảng di động để chúng tôi có thể đạt được điều này với các tiêu chuẩn web. Trong jQuery Mobile, chúng tôi đã thêm một tính năng toàn cầu được gọi là touchOverflowEnabled thúc đẩy tràn: thuộc tính CSS tự động trên các nền tảng được hỗ trợ như iOS5. Khi được bật, khuôn khổ sẽ kết thúc tốt đẹp mỗi trang trong vùng chứa có cuộn nội bộ riêng. Điều này cho phép chúng tôi định vị các thanh công cụ bên ngoài cơ thể cuộn để chúng thực sự luôn giữ được cố định tại mọi thời điểm.

Nguồn: http://jquerymobile.com/demos/1.0/docs/toolbars/bars-fixed.html

Bạn thể tuy nhiên thiết lập footers của bạn trong một dinh thự theo chương trình chứ không phải là cứng mã hóa mỗi trang:

//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>'); 
}); 

Đây là một bản demo: http://jsfiddle.net/vNqaG/ (Thông báo không có chân trang được mã hóa cứng trong ngăn HTML)

-5

I Nếu bạn đang sử dụng một cơ sở dữ liệu trong ứng dụng web, bạn có thể chỉ cần thêm chân trang html vào cơ sở dữ liệu và tải nó bằng PHP mỗi trang. Bạn sẽ phải viết mã PHP vào mỗi trang lúc đầu, nhưng sau đó tất cả những gì cần thiết để thay đổi chân trang chỉ là chỉnh sửa nhanh cơ sở dữ liệu. Tra cứu MySQL/PHP.

+0

Lưu trữ HTML trong cơ sở dữ liệu không phải là một ý tưởng hay. Cơ sở dữ liệu dành cho dữ liệu chứ không phải dạng xem HTML. Theo thời gian, điều này có thể tạo ra một mớ hỗn độn khó duy trì vì các mối quan tâm khác nhau của bạn không bị tách rời và ngăn cách. – ROFLwTIME

Các vấn đề liên quan