Bild waehrend laden austauschen!!
Sebastian
- javascript
Hi Leute ich habe ein Bild:
<img src=http://www.blbla.de/bild.jpg alt=pic1 width=450 height=120>
Dieses Bild braucht immer sehr lange zum laden und weil es dynamisch ist kann ich es nicht einfach auf meinen Webspace laden!
Ich habe vor, dieses Bild während es läd durch ein anderes zu ersetzen!
Meine Idee:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Sebastian's HP</title>
<script type='text/javascript'>
if (document.getElementById) {
var img = document.getElementById('pic1');
if (img) img.onload = InitFade;
}
function InitFade()
{
document.getElementById("img").innerHTML= "<img src=ladebild.jpg alt=pic2 width=450 height=120>";
}
</script>
</head>
<body>
<div id=img><img id="pic1" src=http://www.blbla.de/bild.jpg alt=pic1 width=450 height=120></div>
</body>
</html>
Leider Funktioniert es so nicht!
Bitte helft mir!
MfG Sebastian
Hallo!
Hi Leute ich habe ein Bild:
<img src=http://www.blbla.de/bild.jpg alt=pic1 width=450 height=120>Dieses Bild braucht immer sehr lange zum laden und weil es dynamisch ist kann ich es nicht einfach auf meinen Webspace laden!
Was heißt genau Du mit dynamisch? Es wird serverseitig erzeugt?
Ich habe vor, dieses Bild während es läd durch ein anderes zu ersetzen!
Was versprichst Du Dir davon?
Ciao
GG
Hi,
<script type='text/javascript'>
if (document.getElementById) {
var img = document.getElementById('pic1');
Das Element, auf welches du hier zugreifen willst, gibt es noch gar nicht.
(Und das hätte dir auch die Fehlerkonsole deines Testbrowsers gesagt, wenn du denn mal hineingeschaut hättest. Mach das also bitte künftig, dann kannst du auch eine brauchbarere Problembeschreibung liefern als "funzt nich".)
Platziere das Script erst hinter dem Element im Body, oder lasse deinen Code nach dem Eintreten eines Events wie Load oder DOMContentReady ausführen.
MfG ChrisB
@@Sebastian:
nuqneH
<img src=http://www.blbla.de/bild.jpg alt=pic1 width=450 height=120>
Da ist kein gültiges HTML.
„Standardmäßig verlangt SGML, dass alle Attributwerte entweder von doppelten Anführungszeichen (ASCII dezimal 34) oder einfachen Anführungszeichen (ASCII dezimal 39) begrenzt werden. […] In bestimmten Fällen können Autoren den Wert eines Attributs ohne jegliche Anführungszeichen angeben; der Attributwert darf nur Buchstaben (a-z und A-Z), Ziffern (0-9), Bindestriche (ASCII dezimal 45), Punkte (ASCII dezimal 46), Unterstriche (ASCII dezimal 95) und Doppelpunkte (ASCII dezimal 58) enthalten.“ [HTML 401 §3.2.2]
Das heißt, wenn '/' vorkommt, sind Anführungszeichen zwingend notwendig.
„Wir empfehlen, Anführungszeichen auch dann zu verwenden, wenn es möglich ist, sie wegzulassen.“ [ibid.]
Also besser auch die anderen Attributwerte in Anführungszeichen setzen.
Qapla'
Grüße,
fang mit dummy an, und setz src onload des bodys auf das "schwere"?
bzw lade es unsichtbar im "jenseits" und tausche src wie o.g.
MFG
bleicher
Ich habe vor, dieses Bild während es läd durch ein anderes zu ersetzen!
Würd ich nicht tun, das macht nur einen seltsamen Eindruck auf den Besucher. Der weiß dann ja gar nicht mehr was auf deiner Seite alles passiert, wenn ein Bild plötzlich wechselt. Lass ihn doch lieber merken dass dieses Bild lange braucht.
OK ich habe mich entschlossen es zu lassen.
Trotzdem danke für die Kommentare!
zab