![]() | |
![]() |
| | Thread Tools | Display Modes |
#1
| |||
| |||
|
#2
| ||||||||||||
| ||||||||||||
|
|
[...] möchte ich ein Menu erstellen, das dann bei OnMouseOver "leuchtet", soweit so gut. Da das Menu später leicht erweitert werden soll und auch in einer 2.Ebene aufklappen soll, möchte ich die Bilder in ein Array einlesen. Ich dachte mir das so: 1. Aus Verzeichnis alle Dateien mit Endung png und navi im Namen einlesen. |
|
2. Namen extrahieren und unter diesem Namen im Array eingeben. Die Namen sind "navi_name.png" bzw. "navi_name_rot.png". Also: navi.home = "Bilder/menu/navi_home.png"; navi.home_rot = "Bilder/menu/navi_home_rot.png"; |
|
Kann mir da jemand helfen? |
|
Weiterhin übergebe ich den Schlüssel an eine Funktion. Aufruf: a href="index.html" onMouseOver="menu_links('highlight','ebene1','home ','home_rot')" onMouseOut="Bildwechsel(0,Normal1)" |
|
img |
|
src="Bilder/menu/navi_home.png" alt="Home" name="home"></a |
|
In dieser Funktion funtioniert der Befehl: window.document.home.src = navi.home_rot; |
|
Wenn ich allerdings args[x] verwende: window.document.args[2].src = navi.args[3]; Gibt's diese Meldung: window.document.args has no properties Da stimmt bestimmt irgendwas mit Kommas oder/und Klammern nicht, aber ich komme nicht drauf. |
|
Muß ich eigentlich arg[2], also den Namen des Bildes |
|
übergeben |
|
oder kann ich irgendwie in window.document.NAME.src direkt auf den Namen des aktuellen img-tag zugreifen? |
|
Vielen Danke für Eure Hilfe. |
#3
| ||||||
| ||||||
|
|
Ulrich Wiederhold wrote: 1. Aus Verzeichnis alle Dateien mit Endung png und navi im Namen einlesen. Das ist nur serverseitig zuverlässig möglich. |
|
Weiterhin übergebe ich den Schlüssel an eine Funktion. Aufruf: a href="index.html" onMouseOver="menu_links('highlight','ebene1','home ','home_rot')" onMouseOut="Bildwechsel(0,Normal1)" Was ist `Bildwechsel', was ist `Normal1'? |
|
Da sollte kein Zeilenumbruch zwischen die Tags, weil das als Whitespace gewertet wird. |
|
Siehe <http://pointedears.de/scripts/test/hoverMe/> für eine sowohl einfachere als zuverlässigere Lösung. Ich kann da nichts finden. Sehe das "about" mit highlighting, kann aber |
|
Übrigens lässt sich das dank CSS :hover theoretisch auch ohne Script bewerkstelligen. |
|
Muß ich eigentlich arg[2], also den Namen des Bildes Wie kommst Du darauf, dass das der Fall wäre? Du meinst vermutlich arguments[1] |
#4
| |||
| |||
|
|
... Aufruf: a href="index.html" onMouseOver="menu_links('highlight','ebene1','home ','home_rot')" ...... document.images["home"].src = navi.home_rot; Das funktioniert jetzt so. Nur wird "home_rot" beim Aufruf der Funktion als 3. Argument übergeben, steht also in arguments[2]. |
|
Mit document.writeln(arguments[2]); kann ich das Argument auch ausgeben. Wie muß ich nun den Aufruf mit document.images schreiben, um "home_rot" durch "arguments[2]" zu ersetzen? Meine Versuche blieben bisher erfolglos. |
#5
| |||
| |||
|
|
document.images[arguments[2]].src = navi[arguments[3]]; |

#6
| |||||
| |||||
|
|
Thomas 'PointedEars' Lahn wrote: Ulrich Wiederhold wrote: Weiterhin übergebe ich den Schlüssel an eine Funktion. Aufruf: a href="index.html" onMouseOver="menu_links('highlight','ebene1','home ','home_rot')" onMouseOut="Bildwechsel(0,Normal1)" Was ist `Bildwechsel', was ist `Normal1'? Ging mir nur um onMouseOver. Mit Bildwechsel udn Normal1 habe ich das bisher ohne Array gemacht. |
|
Da sollte kein Zeilenumbruch zwischen die Tags, weil das als Whitespace gewertet wird. Ok. Wußte ich noch nicht. Das war auch nur wegen der besseren Lesbarkeit hier. |
|
Siehe <http://pointedears.de/scripts/test/hoverMe/> für eine sowohl einfachere als zuverlässigere Lösung. Ich kann da nichts finden. Sehe das "about" mit highlighting, kann aber im Code die entsprechende Zeilen nicht entdecken. Finde da allerdings Frames. Frames möchte ich nicht verwenden. |
|
Übrigens lässt sich das dank CSS :hover theoretisch auch ohne Script bewerkstelligen. Jein. So hatte ich das bisher. Nur wird :hover vom IE leider nicht für andere tags als <a> unterstützt und man muß doch wieder einen Workaround mittels Javascript gehen. |
|
Muß ich eigentlich arg[2], also den Namen des Bildes Wie kommst Du darauf, dass das der Fall wäre? Du meinst vermutlich arguments[1] Ok. document.images["home"].src = navi.home_rot; Das funktioniert jetzt so. Nur wird "home_rot" beim Aufruf der Funktion als 3. Argument übergeben, steht also in arguments[2]. Mit document.writeln(arguments[2]); kann ich das Argument auch ausgeben. Wie muß ich nun den Aufruf mit document.images schreiben, um "home_rot" durch "arguments[2]" zu ersetzen? Meine Versuche blieben bisher erfolglos. |
#7
| |||
| |||
|
|
Kai Hoe wrote: document.images[arguments[2]].src = navi[arguments[3]]; Ahh, der Punkt!!! Und ich habe Klammern und Anführungszeichen probiert... Danke. ![]() |

#8
| |||
| |||
|
|
Siehe <http://pointedears.de/scripts/test/hoverMe/> für eine sowohl einfachere als zuverlässigere Lösung. |
Jetzt|
Und weshalb nimmst Du keine a-Elemente? |
|
1. Stattdessen benannte Argumente benutzen: function foo(bar, bar2, bar3) { ... document.images["home"].src = navi[bar3]; ... } Du kannst genausogut auch gleich Referenzen übergeben: function foo(bar, bar2, bar3) { ... document.images["home"].src = bar3; ... } foo(navi.foobar); |

#9
| |||||||||||
| |||||||||||
|
|
Thomas 'PointedEars' Lahn wrote: Siehe <http://pointedears.de/scripts/test/hoverMe/> für eine sowohl einfachere als zuverlässigere Lösung. Danke. Hab's jetzt. Sieht sehr kompliziert aus, finde ich. ![]() |
|
Jetzt funktioniert es bei mir, zumindest fast. |
|
Und weshalb nimmst Du keine a-Elemente? Hatte ich auchmal, brauchte aber bei mehrdimensionalen Listen immernoch hover auf li oder div elementen. |
|
Bei der Seite http://icculus.org/~fzzgrr/index_down.html habe ich das Problem, daß sich die Positionierung der Grafiken verändert, nachdem ich mit der Maus darübergefahren bin. |
|
Woran liegt das? Der Debugger im Browser gibt keinen Fehler mehr an. |
|
else if (event == "downlight"){ document.images[arguments[2]].src = navi[arguments[2]]; ^^^ } |
|
else if (event == "downlight" && group == "reisen"){ document.images[arguments[2]].src = subnavi_reisen[arguments[2]]; ^^^ } |
|
Bezüglich deiner anderen Email. |
|
Ich habe versucht dazu Informationen zu finden und jede Menge Dokus gelesen. Nur leider habe ich nichts zu diesem Thema gefunden. |
|
Es wurden immer andere Varianten verwendet, wenn auf Arrays zugegriffen wurde. |
Lese mit Sicherheit noch ne ganze Menge in nächster Zeit... ![]() |
#10
| |||||
| |||||
|
|
Der Link "Reisen" funktioniert ohne Scripting nicht, das änderst Du aber sicher noch. Genauso wie die nebeneinanderliegenden Links, wenn Grafiken deaktiviert sind oder nicht unterstützt werden. |
|
Es liegt an dieser Zeile: | else if (event == "downlight"){ | document.images[arguments[2]].src = navi[arguments[2]]; ^^^ | } Auch frage ich mich, weshalb Du angesichts dieser Zeilen davon ausgehst, dass die nachfolgenden Zeilen mit dem gleichem Fehler | else if (event == "downlight" && group == "reisen"){ | document.images[arguments[2]].src = subnavi_reisen[arguments[2]]; ^^^ | } jemals ausgeführt werden. Das werden sie aufgrund des `else if' nämlich nicht! Und Deine Einrückung ist auch suboptimal. |
|
Bezüglich deiner anderen Email. Ich habe Dir keine Emails geschrieben. Lies bitte <news:de.newusers.infos und <http://einklich.net/usenet/usenet1.htm> ff. |
|
Du hast den FAQ-Pointer also nicht gelesen. |
|
Seltsam, ich finde da nur eine. Und es handelt es sich hierbei noch immer nicht um Arrays. |
![]() |
| Thread Tools | |
| Display Modes | |
| |