Wie Bearbeite ich eine Globale variable in ein JQuery -$.jede Funktion?

Ok, so dass der Titel wohl nicht zu erklären, meine Frage. Hoffentlich ist dies sinnvoll. Dies ist auch meine erste Anwendung mit jQuery, so verzeihen Sie mir, wenn ich Tue etwas dummes.

Ich habe die folgende Funktion:

function getRandomImages(limit) {
    imagesArray = new Array();
    $.getJSON('createImageArray.php', {limit: limit}, function(data) {
        $.each(data, function(i) {
            imagesArray[i] = data[i];  //imagesArray is declared globally.
        });
    }); 
}

Den getJSON ist richtig greifen das JSON-Objekt. Es gibt so etwas wie dieses:

{"image0":"images/19.10.FBB9.jpg","image1":"images/8.16.94070.jpg","image2":"images/8.14.47683.jpg","image3":"images/8.15.99404.jpg","image4":"images/8.13.20680.jpg","image5":"images/21.12.9A.jpg","image6":"images/8.17.75303.jpg"}

War ich Debuggen und bin zuversichtlich, Daten[i] richtig mit dem Bild-Pfad als schnappte aus dem JSON-Objekt. Jedoch, nach getRandomImages() aufgerufen wird, schau ich mir das global imagesArray und feststellen, dass nichts geändert wurde. Ich vermute, es ist eine Kopie des imagesArray statt packte den tatsächlichen.

Kann mir jemand sagen, was ich tun muss, damit meine Globale imagesArray aktualisiert wird, in der $.jeder block? Muss ich pass in imagesArray durch Bezugnahme irgendwie? Sorry, ich bin ein wenig verloren.

Danke für die Hilfe.

BEARBEITEN: Einige hintergrund-Informationen. Ich bin das Auffüllen der ein array mit random image Standorte von der DB. Ich will nicht zum laden der Bilder aus der db in ein array auf einmal, weil es einfach zu viele. Also, ich habe einen Zähler, der verfolgt, wo ich mich in mein Bild-array. Sobald ich fertig bin mit einem Bild, ich bewege den Zeiger auf das nächste Bild. Wenn ich das Ende zu erreichen, ich brauche mehr greifen zufällige Bilder. Das ist, wo die oben genannten js-Funktion aufgerufen wird; es fordert createImageArray.php die packt x zufällige Bilder aus der db und gibt ein array zurück. Dann möchte ich diese lagern image Standorten in mein global imagesArray.

Ich bin mir nicht sicher, wie würde ich umstrukturieren, meinen code zu nehmen .getJSON ist asynchronouos Natur berücksichtigt.

InformationsquelleAutor bryan | 2009-02-18

Schreibe einen Kommentar