jQuery Cycle-Plugin (Nullelement?)
Frage
I verwendet AJAX, um ein div zu bevölkern und dann Zyklus Plugin es !
Hier ist der , und hier ist der Code Aufruf Zyklus :
<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>
Ich bekomme diese Fehlermeldung: [Zyklus] endet; Null-Elemente von Selektor gefunden, aber mit Firebug Ich sehe die Bildliste als wo es sein sollte ...
so bin ich ahnungslos, jede Hilfe willkommen!
*** zur Kenntnis nehmen, der Fehlerkonsole (Warn Abschnitt) wird verrückt!
Lösung
Statt Zyklus in $(document).ready()
Initialisierung kann es in einem load
Rückruf, so dass sie nicht ausgeführt werden, bis Ihr Ajax-Aufruf abgeschlossen hat und baute den #ani div
:
$(function() {
$("#photoviewer").load("photo-list.shtml #ani", function() {
$('#ani').cycle({ fx: 'turnDown',
speed: 'fast',
timeout: 0,
pager: '#nav' });
});
});
Wie es aussieht, die Zyklus-Plugin Initialisierung ausgeführt wird, bevor die Bilder geladen haben (bevor die load
Funktion beendet hat).
Andere Tipps
Der Fehler bedeutet nur, dass es keine Wähler „#ani“ verfügbar es scheint, wie die „#ani“ genannt wird, ist ein Kind-Knoten von „#photoviewer“ und wenn die Ajax-Anforderung abgeschlossen ist es fügt dann „#ani“.
Nach dem Aufruf:
$("#photoviewer").load("photo-list.shtml #ani");
Versuchen Sie folgendes:
var interval = setInterval(function(){
if(jQuery("#ani").length > 0) {
clearInterval(interval);
jQuery('#ani').cycle({fx:'turnDown', speed: 'fast', timeout: 0, pager: '#nav'});
}
}, 1);