JavaScript-Menü

Status
Nicht offen für weitere Antworten.
Re: Javascript menue

Hallo liebe Kollegen,

Ich versuche es nocheinmal, da ich bis datto von Euch leider keine Antwort bekommen habe, aber vielleicht kann mir ja doch jemand helfen: Ich möchte dieses Menü, um welches es in dieser Rubrik geht, nicht mit "setTimeout", sondern mit "onmouseout" beenden, damit das Menü sofort weggeht, wenn man mit der Mouse wegfährt. Vielleicht hat ja doch jemand von Euch die richtige Lösung, da ich es trotz zahlreicher Versuche leider nicht alleine zusammen bringe. Danke für Eure Geduld.
 
Re: Javascript menue

Hallo Sven,

Danke für den Tipp, aber es funktioniert leider nicht. Die Untermenüs werden immer sofort geschlossen. Habe versucht das "onmouseout" bei "onmouseover", in der "DIV"-Zeile bei den SUB-Menüs und in der <TD>-Zeile bei den jeweiligen Zeilen im Untermenü zu plazieren. Immer mit dem gleichen Erfolg (siehe oben). Vielleicht habe ich das "onmouseover" aber auch nur falsch plaziert.

Ich wünsche Euch trotzdem allen frohe Weihnachten und erholsame Feiertage.
 
Re: Javascript menue

du müsstest dich entscheiden, was du willst :-)
die Methode, um etwas zeitverzögert auszuführen, ist setTimeout()... und gerade die willst du nicht:confused:
 
Re: Javascript menue

Hallo Sven,

Ich möchte es natürlich nicht zeitverzögert haben, aber mit dem Beispiel von Andreas auf dieser Seite und deinem "onmouseout"-Befehl, kann ich das SUB-Menü nicht mehr bedienen, weil es zugeht sobald ich vom Hauptmenü Richtung SUB-Menü wechseln möchte, ansonsten gefällt mir das Menü sehr gut. Ich möchte ja nur, daß das Menü solange offen bleibt, solange der Benutzer mit der Mouse auf dem SUB-Menü Feld ist und wenn er seitlich oder unten weggeht, soll sich das Menu automatisch und sofort schließen, so wie alle Menüs in dieser Art. Ich habe hier in diesem Forum schon einige Hinweise auf Seiten gefunden, wo es genau solche Menüs gibt, die auch genau so zu bedienen sind. Nur kenne ich mich mit JavaScript zu wenig aus, um den Quelltext von solchen Seiten zu verstehen. Außerdem sind die meisten solcher Menüs + Untermenüs mit fertigen Programmen geschrieben, die das machen. Habe sogar so eine Seite mit solchen Programmen (teilweise Freeware, teilweise kostenpflichtig) gefunden. Diesen Hinweis hatte ich hier aus dem Forum.
 
Re: Javascript menue

Es ist schön, dass du weisst, was du alles willst(ist schliesslich Weihnachten :-)).... du könntest aber trotzdem zu Kenntnis nehmen, was man hier postet.

Ich möchte ja nur, daß das Menü solange offen bleibt....
..genau das macht setTimeout(). Wenn es dir zu lange dauert, setze den ms-Wert herunter.

Andernfalls benutze eines dieser "Programme".... du wirst dann schnell bemerken, dass die auch mit setTimeout() arbeiten.
 
Re: Javascript menue

Hallo Sven,

Du hast vermutlich recht, daß die anderen Seiten ebenfalls mit setTimeOut arbeiten. Entschuldige Bitte, falls ich genervt habe oder so, was wirklich nicht meine Absicht war, aber ich möchte doch nur ein halbwegs professionelles Menü. Habe übrigens so ein Menü gerade gefunden unter http://www.btb-shop.de/shop/shopfiles/shoppage.asp?htmlpage=start, das obere Menü. Die haben eine Kombination aus ? und Zeitende. Ich habe die Funktion hier unten angeführt. Hat den Vorteil, daß der Zähler erst läuft, wenn sich die Mouse nicht mehr auf dem Untermenü befindet. Jetzt würde ich dich Bitten, mir einen Tipp zu geben, wie ich das mit dem obigen Programm kombinieren kann, da ich mich mit JavaScript wirklich nicht sehr gut auskenne. Vielleicht hast Du ja eine Idee, wie ich das ändern muß, damit es bei diesem Beispiel funktioniert.

Code:
 function popOut(menuNum, itemNum) 
   {
   if ((menuNum == 0) && !menu[menuNum][itemNum].target)
   hideAllBut(0)
   else
   popTimer = setTimeout('hideAllBut(0)', 500);
   }
 
Re: Javascript menue

hi,
also ich hatte das mal so gemacht
sobald du das menü verlässt (onmouseout) rufst du ein
Code:
var zeit = setTimeout("hide()",1400);
auf
solltest du dann wieder auf das menü fahren (anderer menüpunkt oder so), dann musst du als ersten punkt in der funktion (die du mit onmouseover aufrufst) das hier setzen:
Code:
clearTimeout(zeit);
dann geht das menü nicht mehr zu
ich weiß nicht ob es das war was du brauchst, aber das hat bei mir sehr gut funktioniert
flooo
 
Re: Javascript menue

Klingt sehr gut, ich weiß leider nur nicht, wie und wo ich das genau in den Quelltext einfügen muß. Kannst Du mir da noch einen Tipp geben. Danke
 
Re: Javascript menue

du musst in der funktion die du im onmouseover-tag aufrufst als erstes das clearTimeout(zeit) setzen (vorher noch überprüfen, ob es die variable überhaupt gibt, da sie erst existiert, wenn du das 1. mal das menü verlässt)
und im onmouseout-tag rufst du einfach var zeit = setTimeout("hideall()",1400) auf, d.h.das beim verlassen des menüs die funktion hideall() mit einer verzögerung von 1,4s aufgerufen wird (die zeit kannst du variieren), solltest du innerhalb dieser zeit auf einen anderen menüpunkt fahren wird dieses timeout gelöscht, d.h. dass garnichts passiert, erst wenn du abermals das menü verlässt
ich kenne deinen code nicht, deswegen kann ich nur beschreiben, wo du das hinschreiben musst, also bis dahin
flooo
 
Status
Nicht offen für weitere Antworten.
Zurück