jQuery Cycle Plugin (zero element?)

17,445

Solution 1

Instead of initializing cycle in $(document).ready(), do it in a load callback so that it doesn't execute until your ajax call has completed and built the #ani div:

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

As it stands, the cycle plugin initialization is executing before the images have loaded (before the load function has finished).

Solution 2

The error just means there is no selector named "#ani" available it seems like the "#ani" is a child node of "#photoviewer" and when the ajax request is complete it then adds "#ani".

After you call:

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

Try this:

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

menardmam

Updated on June 09, 2022

Comments

  • menardmam
    menardmam almost 2 years

    I used AJAX to populate a div and then, cycle plugin it !

    here is the page, and here is the code calling cycle:

    <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> 
    

    I get this error : [cycle] terminating; zero elements found by selector, but with firebug i SEE the image list as where it should be...

    so i am clueless, any help welcome !

    *** take note, the error console (warning section) is going crazy !