Probleme mit mouseout <> setTimeout

woifh

Grünschnabel
grüß euch werte Community
ich hab folgendes Problem: ich hab auf meiner page verschiedene Links und hab diese mit entsprechenden Alternativtexten versehen - die Alternativtexte entsprechen in diesem Fall Layern die via JavaScript aufgerufen werden; oke. soweit so gut - das funktioniert auch; wenn ich jetzt aber haben will, dass der Layer (also Alternativtext) eines Links zB 5 sec. angezeigt wird, dann versuch ich das über die setTimeout Funktion zu lösen, was heißen soll: ich ruf über die setTimeout Funktion jene Funktion auf, die mir den entsprechenden Layer wieder auf hidden setzt; das funktiniert auch -- teilweise zumindest; denn - und jetzt mein eigentliches Problem: je öfter bzw. wenn man über die versch. Links mit der Maus überfliegt, umso unregelmäßiger werden diese 5 sec. --> machmal verschwindet dann der Layer sofort nachdem man (über mouseout) den Link wieder verläßt, dann bleibt der Layer - sagen wird ma - 2 sec, dann tut sich zB mal gar nix etc. etc.

<a href="#" onmouseover="popup(0)" onmouseout="window.setTimeout('popout()', 5000)">test link 0</a>
<a href="#" onmouseover="popup(1)" onmouseout="window.setTimeout('popout()', 5000)">test link 1</a>
<a href="#" onmouseover="popup(2)" onmouseout="window.setTimeout('popout()', 5000)">test link 2</a>
<a href="#" onmouseover="popup(3)" onmouseout="window.setTimeout('popout()', 5000)">test link 3</a>
<a href="#" onmouseover="popup(4)" onmouseout="window.setTimeout('popout()', 5000)">test link 4</a>

eine Vermutung von mir: kann es sein, dass man, wenn man einen neuen Layer angezeigt bekommt (also wenn man über einen anderen Link geht), dass man dann das Timeout wieder reseten muss oder lieg ich da total falsch

keine Ahnung ob ich mein Problem entsprechend verständlich darbringen konnnte - falls ja und es findet sich ein Guru auf dem Gebiet wär ich über eine Antwort mehr als froh... in diesem Sinne noch ein programmierfreudiges Wochenende, just shake, woifh
 
Zuletzt bearbeitet:
Hallo,

nur eine Vermutung: Vielleicht liegt der fehler daran, das du immer die selbe Funktion aufrufst. Vielleicht übernimmt der neue Timeout den alten Zählerstand - is nur nein Vermutung. Ich würd mal versuchen die Funktion popout so umzuschreiben, dass sie einen Parameter braucht (also wie die Popup). Ansonsten häng mal das ganze Menü an, würde bei der Lösungsfindung helfen.

bye
 
servas

Danke für deine prompte Anwort - mein Problem ist nur, dass ich nicht wirklich der JavaScript Guru bin und ich schon bei der Umsetzung deiner Idee an meine Grenzen stoße :(
das Script an und für sich ist ja leider nicht von mir - ich wollt eben nur die Anzeige des Layers auf eine bestimmte Zeit erweitern...

ich habe aber den Code im txt File angehägt und wär natürlich sehr verbunden, wenn du (bzw. wer auch immer Lust und die Fähigkeit dazu hat) mir weiterhelfen könntest...
lG woifal
 

Anhänge

Neue Beiträge

Zurück