Text Menü
Momo
- javascript
Hallo zusammen
Möchte den Hover-Effekt bei einem Menü durch javascript ersätzen.
Brauch ich also 4 Zustände wie das folgende Beispiel zeigt;
http://www.momo2000.ch/test/
wäre nett wenn mir
jemand ein Beispielscript posten könnte.
Gruss
Momo
hallo ebenfalls,
Möchte den Hover-Effekt bei einem Menü durch javascript ersätzen.
Warum möchtest du das tun?
... wie das folgende Beispiel zeigt:
http://www.momo2000.ch/test/
Nein, dein Beispiel wäre http://www.momo2000.ch/test/ und darin wieder eine der Frameseiten.
Nebenbei:
<!doCtyPe html PUbliC "-//W3C//dtd html 4.0 transitional//eN">
ist eine sehr ungewöhnliche Schreibweise für
<!DOCTYPE ...
und wie weit das valide ist, mag ich nicht beurteilen.
wäre nett wenn mir jemand ein Beispielscript posten könnte.
Das wird wohl niemand tun. Du hast doch völlig korrekt deine hover-Effekte mit CSS realisiert. Warum willst du jetzt partout einen anderen Weg gehen und den Effekt an eine weit weniger "sichere" Sprache übergeben?
Grüße aus Berlin
Christoph S.
..weil Hover bei Netscape und Opera net so funktioniert wie ich es
möchte.Beim aktivierten Link sollte die Schrift dick
bleiben wie beim IE.Ausserdem hab ich eh schon Javascript auf der
Seite, Onmouseover in der Galerie und Systemuhr.
Ich weiss net wieviele User aus sicherheitsgründen
Java deaktiviert haben.Gibts da irgendwelche Satistiken?
...ui, den Docktype hat die Ersatzfunktion zerschossen :P
aha,wird wohl niemand tun.Na dann..
Falls doch, werd ich demjenigen einen 3 Setigen Dankesbrief
schicken :D
schöne Grüsse aus
Zürich
Hallo Momo,
..weil Hover bei Netscape und Opera net so funktioniert wie ich es möchte.
Es wird mit CSS in keinem Browser so funktionieren, wie du dir es vorstellst, weil der MSIE der einzige Browser ist, der :active falsch interpretiert und das im MSIE beobachtbare Verhalten allen Regeln widerspricht.
Beim aktivierten Link sollte die Schrift dick bleiben wie beim IE.
Das kannst du relativ simpel mit JavaScript lösen. Durchlaufe beim Klick auf einen Menülink (onclick) mit einer for-Schleife alle a-Elemente der Navigation - du kannst sie über id-Attribute/getElementById mit fortlaufenden Nummern ansprechen, beispielsweise document.getElementById('menuelink'+zaehler) und id="menuelink1", id="menuelink2" usw. - und formatiere sie im normalen Schriftschnitt, das heißt, ändere ihren font-weight-Wert auf normal. Das kannst du über die Objekteigenschaft .style.fontWeight bewerkstelligen (http://selfhtml.teamone.de/javascript/objekte/style.htm). Den angeklickt Link jedoch formatierst du fett (font-weight:bold, also .style.fontWeight='bold'). Mit this kannst du auf das Element referenzieren, welches den onclick-Handler ausgelöst hat.
Somit wäre immer der zuletzt ausgewählte Link fett. Dies sollte lösbar sein, ohne dass du die Kompatibilität einschränkst, da das eingebaute JavaScript optional ist.
Das sollten genug Hinweise sein, wie du es selbst lösen kannst.
Ausserdem hab ich eh schon Javascript auf der Seite, Onmouseover in der Galerie und Systemuhr.
Das hat ja nichts zu sagen, trotz Benutzung von JavaScript kann man eine Seite so schreiben, dass es nichts ausmacht, dass auf einigen Umgebungen/bei einigen Clients kein JavaScript zur Verfügung steht.
Ich weiss net wieviele User aus sicherheitsgründen Java deaktiviert haben.
Java ist etwas anderes als JavaScript. Und »Sicherheitsgründe« ist nur ein möglicher Umstand, bspw. Suchmaschinen ignorieren JavaScript komplett.
Gibts da irgendwelche Satistiken?
Ja. Von 2% bis 20% wirst du alles mögliche finden. Sie haben so oder so keine Aussagekraft und können nicht als Argument gegen eine kompatible Seitengestaltung gelten. Wenn dir deine Besucher lieb sind, berücksichtige sie. Es ist nur zu deinem Vorteil.
Grüße,
Mathias
...hihi
Die Garalshütter vom Javascript :D
Naja... um dies oben beschriebene nachbauen zu können ,müsst ich
erst mal die Basics kennen.Aber immerhin, sollt ich mal JavaScript
mal in Angriff nehmen wird mir das sicherlich weiterhelfen.
thx
und Gruss
Hallo,
Wenn ich Dich richtig verstanden habe, willst Du, dass der Zuletzt angeklickte Links im oberen Frame in Fettschrift ist, oder?
Dies geht auch ohne JS:
Der IE macht das bei der Pseudo-Klasse ":active", was jedoch meines Wissens nach laut Standard falsch ist. ":active" gilt nur für den Link, der gerade aktiviert (also im Normalfall geklickt)wird.
Es existiert jedoch noch die Pseudo-Klasse ":focus", welche sich auf den Link bezieht, welcher den Fokus (oft in Form eines dünnen, gepunkteten Rahmens dargestellt) hat.
Also:
a:link{...}
a:visited{...}
a:hover{...}
a:active{...}
a:focus{...}
Mit der Definition all dieser Pseudo-Klassen solltest Du auf jeden Fall für IE, NS6+ und Mozilla zum gewünschten Ergebnis kommen können. Wie's mit Opera aussieht weiss ich nicht, aber warscheinlich klappts da dann auch.
schö
stefan