Autor |
Nachricht |
oli.s.
Threadersteller
Dabei seit: 08.01.2007
Ort: Lehre
Alter: 36
Geschlecht:
|
Verfasst Sa 22.03.2008 13:24
Titel Javascript img src ändern funktioniert nicht |
|
|
Hi alle zusammen, sitze schon seit ein paar Stunden hier rum und versuche diese Funktion zum laufen zu bringen aber es passiert nichts.
Nachdem die Bilder der Seite durch diese Funktion vorgeladen wurden:
Code: | <script type="text/javascript" language="JavaScript">
pic_vorladen = new Image();
pic_vorladen.src = "<? echo $dir_thumb.$value; ?>";
</script> |
sollen dann die source der Bilder (anfangs ein Ladebalken) durch das eigentliche Bild ersetzt werden.
Hier die Funktion:
Code: | <script type="text/javascript" language="JavaScript">
function onComplete(id, dir) {
var end = document.images.length;
alert(end);
if(document.images[id].complete == true) {
document.getElementById[id].src = dir;
}
}
</script> |
Dir und Id werden übergeben...hab auch schon versucht die Variabeln zu ersetzen um es statisch zu versuchen aber geht auch nciht.
Wo liegt mein Fehelr?
|
|
|
|
|
therapiekind
Dabei seit: 14.03.2006
Ort: In deinem Kopf
Alter: -
Geschlecht: -
|
Verfasst Di 25.03.2008 22:35
Titel
|
|
|
getElementById(dieID)
Man beachte die runden Klammern.
|
|
|
|
|
Anzeige
|
|
|
rob
Dabei seit: 11.12.2003
Ort: ~/
Alter: 46
Geschlecht:
|
Verfasst Mi 26.03.2008 03:15
Titel
|
|
|
therapiekind hat den Fehler erkannt.
getElementById() ist eine Methode des document-Objektes.
Und Funktionen/Methoden (wie auch in vielen anderen Sprachen) erwarten Klammern hinter dem Funktionsnamen Klammern, um ggf. Parameter zu übergeben.
Die eckigen Klammern werden in JavaScript für den Zugriff auf Elemente eines Arrays genutzt.
Code: | <script type="text/javascript" language="JavaScript"> |
Das language-Attribut ist deprecated. Du solltest es weglassen.
Dadurch packen die Uralt-Browser dein Script zwar nicht, aber die kennen auch kein document.getElementById oder Ähnliches.
Code: | pic_vorladen.src = "<? echo $dir_thumb.$value; ?>"; |
Auf die Kurzschreibweise würde ich möglichst verzichten, damit dein Script ggf. dann auch auf anders konfigurierten Servern läuft. Also so:
Code: | pic_vorladen.src = "<?php echo $dir_thumb.$value; ?>"; |
Wenn du's noch kürzer haben willst, wäre es auch folgendermaßen möglich:
Code: | pic_vorladen.src = "<?= $dir_thumb.$value ?>"; |
Aber wie gesagt: besser auf die Abkürzungen verzichten. Erhöht die Portabilität.
|
|
|
|
|
oli.s.
Threadersteller
Dabei seit: 08.01.2007
Ort: Lehre
Alter: 36
Geschlecht:
|
Verfasst So 30.03.2008 14:45
Titel
|
|
|
Vielen Dank für eure Tipps, aber das funktioniert leider immer noch nicht.
Wenn ich die Länge von images auslesen lasse wird mir 0 angezeigt.
Deshalb wechselt er in der funktion onComplete wahrscheinlich auch nicht den Pfad der Bilddatei.
Was ist falsch bei pic_vorladen?
Gruß Olli
|
|
|
|
|
Backware
Dabei seit: 09.12.2004
Ort: bei Köln
Alter: 38
Geschlecht:
|
Verfasst So 30.03.2008 19:39
Titel
|
|
|
Code: |
<script type="text/javascript">
function changeImg ( obj, src )
{
loadImg = new Image ( );
loadImg.src = src;
obj.src = loadImg.src;
}
</script>
<a href="javascript:changeImg(document.getElementById('datImg'), 'meinbild.jpg');">Ersetzen</a>
|
|
|
|
|
|
rob
Dabei seit: 11.12.2003
Ort: ~/
Alter: 46
Geschlecht:
|
|
|
|
|
|
|
|
Ähnliche Themen |
<select>-Tag per Javascript funktioniert nur in FF
Javascript funktioniert nicht
Formularüberprüfung mit Javascript funktioniert nicht!
Javascript funktioniert nur in IE11 nicht ?
Wie funktioniert dieses JavaScript PopUp?
Firefox, Javascript: Fullscreen funktioniert nur per Button?
|
|