eigene Menüs, CSS oder JS spinnt
Willson
- javascript
Hallo zusammen
Ich habe versucht, mir selbst Menüs zu bauen. Jeder Menüeintrag wird durch zwei eigene Bild repräsentiert, dann der nächste Eintrag (wieder aus zwei Bildern) usw. Also ganz klassisch. Jedoch habe ich mir verkniffen, die einzelnen Bilder in ihrem DIV-Layer in einer Tabelle anzuordnen. Warum auch, sollte sich ja mit CSS problemlos machen lassen. Also ganz überenthusiastisch im Stylesheet für den DIV-Layer border, margin, padding und font-size auf 0 Pix gesetzt, damit keine Lücken zwischen den einzelnen Bildern entstehen. Soweit alles ganz prima.
Aber jetzt: Sobald ich mit der Maus auf den (wohlgemerkt nicht mehr sichtbaren) Übergang von einem Bild zum nächsten stoße (egal ob zwischen den Bildern eines Menüeintrags oder zwischen zwei verschiedenen Einträgen), verschwindet mein Menü. Bewege ich die Maus weiter, erscheint es wieder. Neben einem unschönen Flackereffekt, der an dieser Stelle aber einmal nebensächlich sei, spielt nunmehr JS verrückt. Aktionen, die für onMouseOver gedacht waren, passieren in diesem Spalt (den man nicht sieht und der meiner Meinung nach auch nicht da sein dürfte), onMouseOut-Aktivitäten hingegen, wenn die Maus "on" aber nicht "out" des betreffenden Bildes liegt.
Was kann man da tun? Hat jemand Ideen? Ich bin sprach- und ratlos. Achso, ich entwickle das Zeug gerade auf dem IE6.
Besten Dank!
Moin
Was kann man da tun?
den Quellcode posten!
Achso, ich entwickle das Zeug gerade auf dem IE6.
Zum Entwickeln ist der IE immer das falsche Werkzeug. Das ist so als ob du neue Rennwagentechnik auf einem Trabant testest.
Gruß
rfb
Der Quelltext ist nix weiter besonderes. Ein paar IMG-Tag mit jeweils onMouseOver und -Out Erweiterungen. Hab auch schon angefangen, ihn trotzdem zu posten ... aber dann kam mir die Einsicht: Der DIV-Layer, der das ganze Menü enthält, sollte wieder verschwinden, sobald sich die Maus nicht mehr über dem Menü befindet. Deshalb bekam der Layer auch ein onMouseOut. Das ist der Grund, warum das Menü zwischen den Bildübergängen verschwand.
Diese Tatsache macht nun aber nicht nur das ganze handling deutlich komplizierter (nun muß ich mich mit JS selbst um solchen Kram kümmern), es stellt sich mir immernoch hartnäckig die Frage, warum diese Übergänge überhaupt existieren?!
Nochmals Danke!
HTML ganz klassisch:
---------------------
...
<div id="subMenu">
...
<img src="../images/subMenu/11.gif" onMouseOver="..." onMouseOut="..."><img src="../images/subMenu/12.gif" onMouseOver="..." onMouseOut="..." /><br />
<img src="../images/subMenu/21.gif" onMouseOver="..." onMouseOut="..." /><img src="../images/subMenu/grundstudium_bottom.gif" /><br />
...
</div>
CSS dazu
---------
#subMenu
{
...
margin: 0px;
padding: 0px;
font-size: 0px;
border: 0px;
}
Moin
Der DIV-Layer, der das ganze Menü enthält, sollte wieder verschwinden, sobald sich die Maus nicht mehr über dem Menü befindet.
Mangels Informationen deinerseits nur'n Tipp:
Was auch immer du mit dem umgebenden DIV vorhast müsste auch mit den onmouse-irgendwas-events der Bildchen machbar sein, so das ein separates onmouseXXX-event unnötig erscheint.
Gruß
rfb