Struppi: Feststellen ob Bild bzw. Hintergrundbild geladen wurde

Beitrag lesen


<div id="bg"></div>
<img src="test.jpg" onMouseOver="JavaScript:enablebg();">

Das Label 'javascript:' hat keine Bedeutung, kann aber u.U. zu Fehlermeldungen führen, in Browsern die keine JS-Label kennen.

Dazu müsste ich aber den Ladezustand des Bildes wissen.

Keine Chance.

Ich habe schon mit complete und readyState experimentiert, aber beides funktioniert nicht sonderlich zuverlässig.

Das stimmt.

Das einzige was zuverlässig funktioniert ist onload bzw. onerror
(nur unter ganz bestimmten Umständen hat der IE Probleme)

D.h. du kannst in deiner Funktion folgendes schreiben:

  
<script type="text/javascript">  
<!--  
function enablebg()  
{  
var img = new Image();  
img.onload = function()  
{  
document.getElementById('bg').style.backgroundImage = "url('bg.jpg')";  
}  
img.src = "bg.jpg";  
  
}  
//-->  
</script>  

Struppi.