"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

menü-quälerei in html

Oculus 03.06.2004 - 11:10 441 5
Posts

Oculus

void
Avatar
Registered: Jun 2001
Location: schlafzimmer
Posts: 856
ich hab ein problem und check net wirklich, wie ich weitermachen soll
vielleicht ist ja schon der ansatz falsch

aufgabe: popup-menü auf einer website. bei mouseover erscheinen die untermenüpunkte. ganz simpel, nur 1 sublevel

lösung:
ich hab mir das menü als table gebastelt, das ganze in einen div-tag gepackt und fix positioniert.
beim onMouseOver vom menüpunkt werden bei allen zugehörigen submenüpunkte die visibility auf visible gesetzt

popup funktioniert wunderbar, nur wie versteck ich das ganze wieder?
am besten schauts euch das ganze selba an

click here

mein ansatz war, das menü beim onMouseOut von der ganzen teiltabelle (wie im beispiel) zu vestecken
aber irgendwie wirds schon ausgelöst, wenn ich von einer spalte in die andere springe, obwohls in der dieser selben tabelle ist

ich checks nicht warum

kann mir wer helfen?
bitte keine gscheiten hinweise ala "nimm doch a fertiges menüscript" ;)

update:
supa, jetzt weiss ich was passiert
wenn man vom table-bereich in einen td-bereich fährt, wird onMouseOut von da table auch ausgeführt
ich hasse javascript

hat wer a idee, wiema das lösen kann?
Bearbeitet von Oculus am 03.06.2004, 11:27

grOOvekill@

Legend
Vienna Badass
Avatar
Registered: Nov 2001
Location: @home
Posts: 2297
Ehm.. ich bin selber kein JS Genie, ehrlich gesagt, aber ich habe in diesem zusammenhang schon mal die Begriffe hide und show menu gehört/gelesen. Nachdem ich momentan ein ähnliches Problem mit einer Navi-Leiste inklusive Submenüs habe, hab ich mich mal auf Fireworks konzentriert, mit dem man solche Menüs echt schnell und einfach erstellen kann. Naja, man erhält dann halt auch 'ne Menge Datenmüll, aber wer kein JS beherrscht, muß halt Kompromisse eingehen. :)

Oculus

void
Avatar
Registered: Jun 2001
Location: schlafzimmer
Posts: 856
das problem liegt eher darin, dass "falsche" events ausgelöst werden
i weiss net, wahrscheinlich ists per design, aba warum wird ein onMouseOut vom table-tag ausgelöst, wenn da zeiger in das darunterliegende td-feld reinfährt?
i checks net ganz, was da da sinn dahinter ist
und wenn man ausn td-tag wieder raus in den restlichen table-bereich fährt, wird ein mouseout vom td, mouseout UND mouseover vom table ausgeführt

habs aber mittlerweile über umwege gelöst
das problem bleibt aber bestehen

Rektal

Here to stay
Registered: Dec 2002
Location: Inside
Posts: 4423
Verwende keine Table-Strukur, dann ergibt sich das Problem vielleicht nicht. Verwende einfach eine Liste oder Links mit display: block.

Oder du schreibst dein event-Handling um dass du das onmouseout bei den TDs faengst, wo du auch schon das onmouseover hast. Du merkst dir dann global das ein onmouseout warst startest einen Timer der a) das menue in X sekunden schliesst oder b) wenn in einem anderen TD wieder ein onmouseover war, den Timer killt.

Rektal

Here to stay
Registered: Dec 2002
Location: Inside
Posts: 4423
.

Oculus

void
Avatar
Registered: Jun 2001
Location: schlafzimmer
Posts: 856
danke für den tip
es funktioniert mit der jetzigen methode zwar auch, aber nicht wirklich sehr gut

ich schliess jetzt einfach in den anderen td-tags im rest der seite bei onMouseOver das menü
ist akzeptabel

aba danke für den tip
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz