2011-03-14 39 views
1

嘿那裏,我正在測試jQuery Mobile並且有一個問題。我寫了一個簡單的jQuery插件,根據一些參數爲幾張圖片添加動畫。非常基本的東西。現在可以在我鏈接到外部的任何頁面上工作(rel =「external」)。但是,如果我使用內置的Ajax驅動頁面導航,則後續頁面上都不會加載任何圖像。有沒有辦法在jQuery Mobile中動態創建內容?jQuery Mobile中的動態內容?

腳本:

$(document).ready(function(){ 
    $('#slideshow').rotator(50, 'img'); 
}); 

標記:

... 
<div data-role="page"> 
    <div id="slideshow"> 
     <img src="images/1.png"> 
     <img src="images/2.png"> 
     <img src="images/3.png"> 
    </div> 
</div> 
... 

回答

4

您可以綁定到pagebeforecreate事件,最初創建的頁面內容時會觸發,並從那裏開始你的肩:

$(document).ready(function(){ 
    $("#pageID").live('pagebeforecreate',function(event){ 
    $('#slideshow').rotator(50,'img'); 
    }); 
}); 
0

如果是動態創建的這些圖片,你需要做的$('#slideshow').rotator(50, 'img');在創建之後,在$的回調函數。阿賈克斯最有可能的。

1

你的document.ready是在一個子頁面上,當鏈接加載AJAX時,只有頁面div被採取並放入你的DOM,所以你放在頭部的任何JavaScript都不起作用,並且沒有document.ready,因爲AJAX從不觸發它。