Inhalt einer textarea / p dynamisch ändern
Christian
- javascript
0 Cheatah
Hallo!
In einer Bildergalerie werden die Bilder zunächst alle in einem Array abgespeichert. Wenn der Benutzer später auf "zurück" oder "weiter" klickt, sorgt die entspr. Funktion dafür, dass beim <img> einfach die Source geändert wird.
Ich will nun zu jedem Bild auch Text ausgeben, der sich natürlich beim Durchklicken mitändern muss.
Frage 1: Geht die Textanzeige dann ausschließlich mithilfe von Formularelementen? Wenn ja, ist die <textarea> am sinnvollsten, oder? Mir wäre ein <p> ehrlich gesagt lieber!
Frage 2: Wie geht das?? Ihr könnt unten im Code sehen, wie ich es versucht habe - es passiert leider nichts.
Danke für jeden Schritt zur Lösung!
*******************
<script type="text/javascript" language="JavaScript">
<!-- Begin
var n = 0;
var pic=new Array(25);
for(i = 0; i < 25; i++) {
pic[i] = new Image();
}
pic[0].src='img/bild1.jpg';
pic[1].src='img/bild2.jpg';
pic[2].src='img/bild3.jpg';
...
function zurueck(){
if (n > 0) {n--;}
else {n = 24;}
window.document.galeriebild.src=pic[n].src;
document.kommentar.value="zurueck!";
}
function weiter(){
if (n < 24) {n++;}
else {n = 0;}
window.document.galeriebild.src=pic[n].src;
document.kommentar.value="weiter!";
}
// End -->
</script>
...
<img name="galeriebild" src="img/bild1.jpg">
<textarea name="kommentar" style="width: 344px; height: 54px;" readonly></textarea>
********************
Hi,
Frage 1: Geht die Textanzeige dann ausschließlich mithilfe von Formularelementen?
nein, Du kannst mittels DOM die nodes eines HTML-Dokuments manipulieren.
Frage 2: Wie geht das?? Ihr könnt unten im Code sehen, wie ich es versucht habe - es passiert leider nichts.
Du sprichst ein Objekt namens document.kommentar an. Ich sehe aber nirgendwo, wo dies erzeugt werden soll. Und ja, ich weiß, wo Du es zu sehen glaubst.
Cheatah
Du sprichst ein Objekt namens document.kommentar an. Ich sehe aber nirgendwo, wo dies erzeugt werden soll. Und ja, ich weiß, wo Du es zu sehen glaubst.
Naja, da ist die textarea und die hat den Namen "kommentar". Ich dachte, dass das als Zuweisung ausreicht.
Mit DOM habe ich mich noch gar nicht beschäftigt (schluck!).
Hast du eine Lösung, wenn du verstehst, was ich beabsichtige. Es sind ja vermutlich 2 oder 3 Zeilen Javascript.
Danke,
Christian
Hallo,
Naja, da ist die textarea und die hat den Namen "kommentar". Ich dachte, dass das als Zuweisung ausreicht.
Nein, tut es nicht. Es gibt drei Methoden um dein Ziel zu erreichen:
getElementById
getElementsByName
getElementsByTagName
Ich würde für dein Vorhaben getElementById empfehlen, da die jeweilige Id immer ein Unique sein muss, und so Verwechslungen ausgeschlossen sind. Die anderen beiden Methoden steuern ein Array an.
Hast du eine Lösung, wenn du verstehst, was ich beabsichtige. Es sind ja vermutlich 2 oder 3 Zeilen Javascript.
Neben den obigen drei Links ist dieser Artikel noch relevant: http://de.selfhtml.org/javascript/objekte/images.htm#src
Viele Grüße,
Philip