jquery funktioniert nicht ohne alert ()
Frage
Das ist meine jQuery:
$(document).ready(function(){
$('#mycarousel').jflickrfeed({
limit: 14,
qstrings: {
id: '26339121@N07'
},
itemTemplate: '<li><a href="{{image_b}}"><img src="{{image_m}}" alt="{{title}}" width="155" /></a></li>'
});
alert("msg");
$('#mycarousel').jcarousel({
auto: 3,
scroll: 1,
wrap: 'last',
animation: 800,
initCallback: mycarousel_initCallback
});
});
Aber wenn ich entfernen "alert (" msg ");" Dieser Code funktioniert nicht richtig ... mir jemand mit diesem Problem helfen kann?
Danke !!!!!!!!
Lösung
Nun, Sie geben keine Erklärung darüber, was jflickrfeed
tut, aber die magischen Worte:
dieser Code nur mit einer Warnung an Ort und Stelle arbeitet
sagt mir, dass Sie ein Problem mit asynchronem Code haben. Ich vermute, jflickrfeed
kehrt asynchron.
Was , die bedeutet, dass die Funktion zurück zu Ihrem Skript steuern, bevor es fertig ist, was Sie es gefragt zu tun. In einem Javascript-Programm dies bedeutet in der Regel, dass ein Anruf zu einem Server vorgenommen wurde. Solche asynchronen Code umfassen in der Regel die Möglichkeit, einen Handler zu definieren, das heißt, eine Funktion, der Anruf einmal die asynchronen Aufgabe abgeschlossen ist.
Wenn Sie Code haben, der nach Abschluss der asynchronen Aufgabe abhängig ist, sollte es in den Handler gesetzt werden, nicht direkt nach dem asynchronen Funktionsaufruf.
Andere Tipps
Ich weiß nicht, die Kontrolle, die Sie verwenden, aber das ist definitiv ein Timing-Problem. Wenn Sie die Warnung entfernen, hat der Flickr-Feed noch nicht fertig geladen, wenn Sie jcarousel
nennen. Diese Funktion dann wohl nichts zu Arbeit mit noch.
Sie würden den zweiten Anruf zu Zeit haben, so dass es feuert dann das Laden von flickr erfolgreich beendet hat. Um das zu tun, jflickrfeed
wahrscheinlich als success
Rückruf.