Denkfehler ?!
Cycs
- javascript
Hallo, vielleicht könnt ihr mir helfen.
Ich muß irgendwo 'nen Denkfehler haben, ich poste mal das Script,
um das es geht:
<script language="JavaScript">
<!--
window.onerror = null;
var netscape = 0;
var goodIE = 0;
browserName = navigator.appName.substring(0,8);
browserVer = parseFloat(navigator.appVersion);
if (browserName == "Netscape" && browserVer >= 3)
{ netscape = 1; }
if (browserName == "Microsoft" && browserVer >= 4)
{ goodIE = 1; }
if (netscape goodIE)
{
names = new Array( "pic-mitte-gam" , "pic-mitte-hg" , "pic-mitte-th" , "pic-mitte" );
buttons = new Array(6);
for (m=0; m<=6; m++)
{ buttons[m] = new Image(); }
buttons[0].src = "pic-mitte-gam1.jpg";
buttons[1].src = "pic-mitte-hg1.jpg";
buttons[2].src = "pic-mitte-th1.jpg";
buttons[3].src = "pic-mitte-gam2.jpg";
buttons[4].src = "pic-mitte-hg2.jpg";
buttons[5].src = "pic-mitte-th2.jpg";
buttons[6].src = "pic-mitte.jpg";
}
function swap(des,num)
{
if (netscape goodIE)
{
document.images[names[des]].src = buttons[num].src;
}
}
//-->
</script>
... zur Erklärung:
Das soll eigentlich ein ganz einfaches Rollover-Script sein *g*.
Der fette Kopf wegen der Browserkompatibiliät!
Die pic-files sind definiert - als "buttons" eben, jeweils mit dem
zustand 1=mouseout und 2=mouseover - button6 ist das zielpic, da der
standort der buttons NICHT GLEICH dem standort des (bei rollover
angezeigten) bildes ist. <-- dies ist ein Beschreibungs-file zum jeweiligen pic.
eingebungen im body habe ich folgendes:
<a href="" onmouseover="swap(0,3)" onmouseout="swap(0,0)">
<img src="pic-mitte-gam1.jpg" width="199" height="227">
</a>
--> für das erste pic ... und dann immer so weiter.
Das Dumme ist nun - der Effekt bleibt aus! Die Links klappen zwar
aber nich der Rollovereffekt. Deshalb hab ich wohl irgendwas vermatscht, naja ... vielleicht findets ja jemand ;-)
Danke schonmal,
Cycs
Hi,
»» function swap(des,num)
»» {
»» if (netscape goodIE)
»» {
»» document.images[names[des]].src = buttons[num].src;
»» }
kann es sein, daß der Fehler hier liegt? window.images verlangt doch
eine Nr. als Indiz? Also vielleicht besser
document.names[des].src = buttons[num].src;
Allerdings müßte dann das Bild mit
NAME = "name" erweitert werden. Alternativ könnte man das ganze
mit den "names" auch weglassen und
document.images[des].src = buttons[num].src;
schreiben? *g*
mfg
CK1
Hi,
ich bin der Meinung mit der script-Erweiterung ";return true" und dem Einfügen von "name=pic-mitte-gam" im img-Tag müßte die Sache funktionieren.
Der korrekte Code für den Aufruf des Scriptes würde also wie folgt lauten:
<a href="" onmouseover="swap(0,3);return true" onmouseout="swap(0,0);return true">
<img src="pic-mitte-gam1.jpg" width="199" height="227" name="pic-mitte-gam">
Bei den folgenden Bildern müßtes Du dann unter "name=..." den jeweilig entsprechenden Namen aus dem Array "names" einfügen.
Viel Erfolg
Micha
... jup, danke euch beiden !!
<hab mich für michas variante entschieden, ck: deine ging nich>
ciao cycs