2013-07-18 45 views
1

我一直在Google上搜索這幾天,雖然有很多類似的線程,但答案仍然沒有回答。我已經削減下來的問題是:jquery mobile 1.3.1 padding-top錯誤地計算初始頁面加載

<div data-role="header" data-id="myHeader" data-theme="none" data-position="fixed"> 
     <img src="images/my1200x150logo.jpg"/> 
</div><!-- /header --> 

<div data-role="content"> 
    <p>Content line 1</p> 
    <p>Content line 2</p> 
    <p>Content line 3</p> 
    <p>Content line 4</p> 
    <p>Content line 5</p> 
</div><!-- /content --> 

<div data-role="footer" data-id="myFooter" data-theme="c" data-position="fixed"> 
    <h4>My footer</h4> 
</div><!-- /footer --> 

我試圖實現與標誌圖像尺寸調整到適合頁面一個RWD效果。除了初始頁面加載之外,這一切都可以很好地工作,這會在jqm updatePagePadding例程中將填充頂部設置爲零,從而導致內容在圖像下向上流動。

我知道在js運行後加載幾個小時的圖像,這是一個常見問題。任何事件(如頁面調整大小)都會導致填充更新正確。

所以我的問題是,我的圖像加載完成後,如何強制JQM調用updatePagePadding

回答

0

Jquery pageshow event? link to the API

基本上jQuery將觸發頁面加載後一個事件,元素隨時可以等待該事件,然後打電話給你的功能,例如:

$("#pageID").on("pageshow",function(){ 
    updatePagePadding(); 
}); 

還檢查這對完整的參考什麼事件綁定到每個jquery移動頁面,page widget API

+1

感謝您的回覆。如果我把腳本放在頭部,它永遠不會被執行。如果我把它放在body部分的末尾,我得到ReferenceError:updatePagePadding沒有定義 – user2593663

+0

你不能把腳本放在頭部,jquery mobile不加載頭標籤,它只在index.html加載頭標籤,其他頁面放您的JavaScript內部

abdu

+0

對不起,很厚。我讀過其他地方把jquery和jquery.mobile腳本放在head標籤中。我按照你的建議做了,現在得到$ undefined。你介意發佈我應該使用的頁面結構來實現我想要的內容嗎?這樣一切都按正確的順序加載?我非常感謝你的幫助。 – user2593663