Guten Morgen!
Ich ersuche um Aufklärung über das SELECT-Objekt (Auswahllisten) in JS:
Beim Basteln eines kleinen Slidshow-Skripts habe ich zunächst im Web gestöbert und bin dabei auf folgende funktionierende Lösung gestoßen:
<HTML>
<HEAD>
<SCRIPT LANGUAGE="JavaScript">
var current = 0;
function weiter() {
if (document.slideform.slide[current+1]) {
document.images.show.src = document.slideform.slide[current+1].value;
document.slideform.slide.selectedIndex = ++current;
}
}
function retour() {
if (current-1 >= 0) {
document.images.show.src = document.slideform.slide[current-1].value;
document.slideform.slide.selectedIndex = --current;
}
}
function wechsle() {
current = document.slideform.slide.selectedIndex;
document.images.show.src = document.slideform.slide[current].value;
}
</script>
</HEAD>
<BODY>
<center>
<form name=slideform>
<table>
<tr>
<td align=center>
BILDERSHOW
</td>
</tr>
<tr>
<td align=center>
<img src="1.gif" name="show">
</td>
</tr>
<tr>
<td align=center>
<select name="slide" onChange="wechsle();">
<option value="1.gif" selected>Bild 01
<option value="2.gif">Bild 02
<option value="3.gif">Bild 03
<option value="4.gif">Bild 04
</select>
</td>
</tr>
<tr>
<td align=center>
<input type=button onClick="retour();" value="<<" title="Vorheriges">
<input type=button onClick="weiter();" value=">>" title="Nächstes">
</td>
</tr>
</table>
</form>
</center>
</HTML>
ABER: Nach den gängigen JS-Büchern sollte es so funktionieren:
....
<SCRIPT LANGUAGE="JavaScript">
var current = 0;
function weiter() {
if (document.slideform.slide.options[current+1]) {
document.images.show.src = document.slideform.slide.options[current+1].value;
document.slideform.slide.selectedIndex = ++current;
}
}
function retour() {
if (current-1 >= 0) {
document.images.show.src = document.slideform.slide.options[current-1].value;
document.slideform.slide.selectedIndex = --current;
}
}
function wechsle() {
current = document.slideform.slide.selectedIndex;
document.images.show.src = document.slideform.slide.options[current].value;
}
....
</script>
Das funktioniert auch prima, nur bin ich jetzt verwirrt: Um welches Objekt handelt es sich bei
document.slideform.slide[current+1]
eigentlich, wo doch die einzelnen Einträge - laut JS-Büchern - in einem options-Array abgelegt werden , es also
(document.slideform.slide.options[current+1]
heißen müßte?? (Vermutlich stelle ich da eine ziemlich dämliche Frage)
Herzlichen Dank für alle Hinweise und Tipps im voraus
Kurt