Ich möchte wissen, wann ein Bild vollständig geladen wurde. Gibt es eine Möglichkeit, dies mit einem Rückruf zu tun?
Wenn nicht, gibt es überhaupt eine Möglichkeit, dies zu tun?
javascript
image
callback
loading
Ciro Santilli 郝海东 冠状 病 六四 事件 法轮功
quelle
quelle
Antworten:
.complete
+ RückrufDies ist eine standardkonforme Methode ohne zusätzliche Abhängigkeiten und wartet nicht länger als nötig:
Quelle: http://www.html5rocks.com/de/tutorials/es6/promises/
quelle
img.complete
Anruf und demaddEventListener
Anruf abgeschlossen ist?load
Ereignis-Listener muss sich jedoch in einerelse
Klausel befinden,img.complete
die vor demload
Auslösen des Ereignisses wahr werden kann. Wenn dies nicht der Fall wäre, hätten Sie möglicherweiseloaded
zweimal anrufen können (beachten Sie, dass sich dies relativ wahrscheinlich so ändert, dass esimg.complete
erst dann wahr wird, wenn das Ereignis eintritt Feuer).Image.onload () funktioniert oft.
Um es zu verwenden, müssen Sie sicherstellen, dass Sie den Ereignishandler binden, bevor Sie das src-Attribut festlegen.
Verwandte Links:
Anwendungsbeispiel:
quelle
load
Veranstaltung nicht gültig ist? html.spec.whatwg.org/multipage/webappapis.html#handler-onload ist die Definition desonload
Ereignishandlers.Sie können die Eigenschaft .complete der Javascript-Bildklasse verwenden.
Ich habe eine Anwendung, in der ich eine Reihe von Bildobjekten in einem Array speichere, die dynamisch zum Bildschirm hinzugefügt werden. Beim Laden schreibe ich Aktualisierungen in ein anderes Div auf der Seite. Hier ist ein Code-Snippet:
quelle
Sie können das Ereignis load () - in jQuery verwenden, es wird jedoch nicht immer ausgelöst, wenn das Bild aus dem Browser-Cache geladen wird. Dieses Plugin https://github.com/peol/jquery.imgloaded/raw/master/ahpi.imgload.js kann verwendet werden, um dieses Problem zu beheben.
quelle
Das Leben ist zu kurz für Fragen.
quelle
src
mit JS hinzufügen .myImage.src = https://pmchollywoodlife.files.wordpress.com/2011/12/justin-bieber-bio-photo1.jpg?w=620
macht den Trick.Hier ist das jQuery-Äquivalent:
quelle
Nicht geeignet für 2008, als die Frage gestellt wurde, aber heutzutage funktioniert das gut für mich:
quelle
Diese Funktionen lösen das Problem. Sie müssen die
DrawThumbnails
Funktion implementieren und eine globale Variable zum Speichern der Bilder haben. Ich liebe es, dies mit einem Klassenobjekt zum Laufen zu bringen, das dieThumbnailImageArray
Variable als Mitglied hat, aber ich habe Probleme!genannt wie in
addThumbnailImages(10);
quelle
addThumbnailImages
Funktion. Reduzieren Sie es auf den entsprechenden Code und ich werde die -1 entfernen.Wenn das Ziel darin besteht, das Bild zu formatieren, nachdem der Browser das Bild gerendert hat, sollten Sie:
weil der browser erst
loads the compressed version of image
danndecodes it
endlichpaints
. Da es kein Ereignispaint
gibt, sollten Sie Ihre Logik ausführen, nachdem der Browserdecoded
das img-Tag hat.quelle
Wenn Sie React.js verwenden, können Sie Folgendes tun:
// ...
// ...}
Wo:
quelle