Javascript - SELECT-Objekt
Kurt
- javascript
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
Hi,
Beim Basteln eines kleinen Slidshow-Skripts habe ich zunächst im Web gestöbert und bin dabei auf folgende funktionierende Lösung gestoßen:
funktionierend in welchem Browser? Insbesondere der IE verfügt über dermaßen umfassende Fehlerkorrekturroutinen, dass selbst der wirrste Code noch zu einem Ergebnis führt. Diesen Browser als Referenz zu verwenden ist also sinnfrei.
Cheatah
Funktioniert auch im Netscape 4.7 fehlerfrei!!!!
(in beiden Varianten)
Kurt
p.s. Bin für jede Art von Hinweis dankbar!
Hi,
Beim Basteln eines kleinen Slidshow-Skripts habe ich zunächst im Web gestöbert und bin dabei auf folgende funktionierende Lösung gestoßen:
funktionierend in welchem Browser? Insbesondere der IE verfügt über dermaßen umfassende Fehlerkorrekturroutinen, dass selbst der wirrste Code noch zu einem Ergebnis führt. Diesen Browser als Referenz zu verwenden ist also sinnfrei.
Cheatah