Ich bin völlig neu in JavaScript und JQuery, und ich habe folgendes Problem ich war durch das Lesen anderer SO Q & Wie zu lösen nicht in der Lage:JQuery: Warten auf Attribut verändertes Bild src geladen werden
Ich habe eine Funktion, die den Pfad zu einem Bild abruft (/API/currentImage
) und das src
Attribut eines img
ändern möchte und sich dann nach 1 Sekunde wiederholt. So weit, so gut, der folgende Code funktioniert. Aber: Wenn das Bild groß ist, kann das GET für das Bild selbst ziemlich lange dauern (länger als 1 Sekunde). Also ich möchte setTimeout
nicht ausführen, wenn die AJAX-Anfragen beendet sind, aber wenn das Bild endlich geladen ist ("Das Laden des Bildes nach $('img').attr("src", r1[0])
ist beendet").
loadImg = function() {
$.when(
$.ajax({
url: "/API/currentImage"
}),
$.ajax({
url: "/API/currentId"
})
).done(function(r1, r2) {
$('#iid').text(r2[0])
$('img').attr("src", r1[0])
window.setTimeout(function() {
loadImg()
}, 1000)
})
}
Wie kann ich das erreichen?
http://stackoverflow.com/questions/3877027/jquery-callback-on-image-load-even-wenn-das-Bild-ist-cachiert – Blazemonger
Mögliches Duplikat von [Überprüfen Sie, ob ein Bild geladen ist (keine Fehler) in JavaScript] (http://stackoverflow.com/questions/1977871/check-if-ein-Bild-is-loaded-no-errors-in-javascript) – Damian