2011-03-14 87 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从不触发它。