2012-06-05 34 views
5

Tôi muốn có cùng tiêu đề và chân trang trên tất cả các trang trên ứng dụng di động jquery của tôi và kiểm soát nó bằng cách sử dụng một tệp khác ví dụ như footer.html. Điều này là dễ sử dụng PHP bao gồm nhưng tôi không thể vì tôi đang lập kế hoạch về việc sử dụng ứng dụng này với phonegap.Jquery Mobile Cùng một chân trang trên các trang khác nhau

tìm kiếm xung quanh tôi thấy sử dụng

<div data-role="footer"> 
<div class="footerExt"></div> 
    </div> 

và javascript

$('.footerExt').load('footer.html') 

Tuy nhiên điều này không hoạt động. Tôi nên đề cập đến rằng tôi là người mới bắt đầu javascript, tôi hầu như không hiểu những gì đang xảy ra.

Thanks a lot

Trả lời

8

Hãy thử với sự kiện sau đây, nó hoạt động với mã của tôi:

$('[data-role=page]').live('pageshow', function (event, ui) { 
      $("#" + event.target.id).find("[data-role=footer]").load("footer.html", function(){ 
       $("#" + event.target.id).find("[data-role=navbar]").navbar(); 
      }); 
     }); 

này gist cho thấy toàn bộ mã.

+0

Cảm ơn bạn rất nhiều công trình hoàn hảo! Chỉ là những gì tôi đang tìm kiếm cảm ơn một lần nữa. :) – P22

+0

Điều này làm việc tốt nhưng bất kỳ ý tưởng làm thế nào để làm cho nó hoạt động với ui-btn-hoạt động? Hoặc là nó thậm chí có thể bởi vì nếu tôi thêm lớp vào các nút, tất cả các nút sẽ hiển thị dưới dạng hoạt động trên trang chủ. – P22

+0

lý tưởng bạn nên áp dụng chủ đề để phân biệt một nút từ http://jquerymobile.com/demos/1.1.0/docs/buttons/buttons-themes.html – dhaval

0

Bạn cần phải tải mã html bên ngoài để một div với một dữ liệu-role = "footer", vì vậy bạn cần phải thay đổi:

<div class="footerExt"></div> 

để

<div data-role="footer" class="footerExt"></div> 

và ví dụ html chân của bạn có thể có một h3

<h3>This is your footer</h3> 
+0

Mã của tôi bây giờ trông giống như này: '

' Nhưng tiếc là nó vẫn không phải w orking. Không thực sự chắc chắn những gì tôi đang làm sai. Cảm ơn – P22

1

từ jquery 1.9 trở lên live is now deprecated vui lòng sử dụng chức năng với bật. Trong giao diện điều khiển nó sẽ cho Lỗi Loại:. $ (...) sống không phải là một chức năng

dụ thay đổi mã của bạn

$('[data-role=page]').live('pageshow', function (event, ui) { 
      $("#" + event.target.id).find("[data-role=footer]").load("footer.html", function(){ 
       $("#" + event.target.id).find("[data-role=navbar]").navbar(); 
      }); 
     }); 

Replace with

$('[data-role=page]').on('pageshow', function (event, ui) { 
       $("#" + event.target.id).find("[data-role=footer]").load("footer.html", function(){ 
        $("#" + event.target.id).find("[data-role=navbar]").navbar(); 
       }); 
      }); 
Các vấn đề liên quan