jQuery Cycle Plugin(零元素?)

时间:2009-11-01 14:20:09

标签: jquery cycle

我使用AJAX填充div,然后使用cycle plugin it

这里是page,这是代码调用周期:

<script type="text/javascript">
    $(function() {
        $("#photoviewer").load("photo-list.shtml #ani");
        alert ('photo loaded!');
        $(document).ready(function() {
            $('#ani').cycle({ fx:      'turnDown',
                              speed:   'fast',
                              timeout: 0,
                              pager:   '#nav' });
            alert('done!');     
        });
    });
</script> 

我收到此错误:[循环]终止;选择器找到的零元素,但是使用firebug我看到图像列表应该是...

所以我很无能为力,欢迎任何帮助!

***请注意,错误控制台(警告部分)会变得疯狂!

2 个答案:

答案 0 :(得分:6)

而不是在$(document).ready()中初始化周期,而是在load回调中执行此操作,以便在您的ajax调用完成并构建#ani div之后它才会执行:

    $(function() {
        $("#photoviewer").load("photo-list.shtml #ani", function() {
            $('#ani').cycle({ fx:      'turnDown',
                              speed:   'fast',
                              timeout: 0,
                              pager:   '#nav' });
        });
    });

目前,循环插件初始化正在图像加载之前(load函数完成之前)执行。

答案 1 :(得分:3)

错误只是意味着没有名为“#ani”的选择器可用,似乎“#ani”是“#photoviewer”的子节点,当ajax请求完成时,它会添加“#ani”。< / p>

致电后:

 $("#photoviewer").load("photo-list.shtml #ani"); 

试试这个:

var interval = setInterval(function(){ 
  if(jQuery("#ani").length > 0) {
    clearInterval(interval); 
    jQuery('#ani').cycle({fx:'turnDown', speed:  'fast', timeout: 0, pager:  '#nav'}); 
  }
}, 1);