Frage

Ich lade html von einem Ajax-Request, und einige img -Tags in es.

Ich muss wissen, wenn die Bilder in der Ajax geladen werden vollständig den Behälter, um die Größe geladen. Ich weiß nicht, wie viele Bilder im Ergebnis sind, so kann ich nicht einfach überprüfen Sie die Das Gesamt Wert.

Sie wissen, eine Lösung für dieses?

Danke!

Leandro

War es hilfreich?

Lösung

Wenn Sie jQuery verwenden, kann der $(window).load() Befehl eine Funktion einrichten aufgerufen werden, wenn alle Bilder geladen sind, wie folgt:

$(window).load(
    function() {
        // weave your magic here.
    }
);

Wenn Sie nicht jQuery verwenden, würde ich nur tun, was ich getan habe, als ich ein möchten kleine Bit seiner Funktionalität: es herunterladen und untersuchen die Quelle zu sehen, wie sie es tut . Dann tun: -)

Andere Tipps

XMLHttpRequests haben Eigenschaften, die Sie verwenden können, um zu bestimmen, wenn die Last abgeschlossen hat. Wenn Sie direkt mit Hilfe von JavaScript sind, müßten Sie eine Funktion für das onreadystatechange Ereignis zuzuordnen. Dies wird jedes Mal, wenn sich der Zustand ändert genannt. Die Zustände sind in Readystate gespeichert und sind: 0 Uneingeweihten 1 Loading 2 Loaded 3 Interactive 4 Komplette

In Ihrer Funktion können Sie überprüfen, ob der Status 4 und rufen Sie die anderen erforderlichen Funktionen

JQuery hat Ereignisse, die Ihnen sagen, wann bestimmte Dinge aufgetreten sind. Sehen Sie sich die AJAX-Dokumentation

Ok, dank Pax, ich habe die Lösung gefunden.

Auf dem Erfolg Ereignis des Ajax-Request (mit jQuery), habe ich den folgenden Code hinzugefügt:


$('img', this).load(function() {
    resize_element(this);
});

Danke euch beiden!

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top