Ga naar inhoud

Javascript: pop-up menu vertragen.


Aanbevolen berichten

Ik gebruik op m'n site een menu die door middel van een layer uitklapt. Werkt best aardig, maar ik zou er graag een kleine vertraging inbouwen zodat het wat makkelijker is om naar het uitgeklapte menu te gaan zonder dat deze direct verdwijnt als je even met je muis van de cel afgaat. De code waar het waarschijnlijk fout gaat: [code:1:aaf6bdc58b] <script language="JavaScript"> <!-- function showmenu(elmnt) { document.all(elmnt).style.visibility="visible" } function hidemenu(elmnt) { document.all(elmnt).style.visibility="hidden" } function hidemenupresentatie() { document.all('presentatie').style.visibility="hidden" } //--> </script> <table> <td onmouseover="showmenu('Presentatie')" onmouseout="setTimeout("hidemenupresentatie()",1000)">voorbeeld</td> </table> [/code:1:aaf6bdc58b] De functie 'showmenu' laat dus het submenu verschijnen. De functie 'hidemenu' laat dit menu weer gebruiken. Op een site ergens had ik gevonden dat de setTimeout functie niet toestaat dat er een parameter wordt meegegeven bij de functie die je aanroept. Dat heb ik dus opgelost door een aparte functie te maken (hidemenupresentatie). De code van hidemenupresentatie werkt prima, want ik heb ook een aparte link gemaakt inde pagina die dezelfde functie aanroept en dat gaat goed. Ik verwacht dus dat er een foutje zit in de setTimeout functie. Kan iemand me hiermee helpen? Zie voor een completer code en een beeld van hoe het werkt deze pagina: http://www.motorchoice.nl/test/mainpage.htm bvd, Elja
Link naar reactie
zoek de verschillen :) [b:3a3bb0b634]fout[/b:3a3bb0b634] <td onmouseover="showmenu('Presentatie')" onmouseout="setTimeout("hidemenupresentatie()",1000)"> [b:3a3bb0b634]goed[/b:3a3bb0b634] <td onmouseover="showmenu('Presentatie')" onmouseout="setTimeout('hidemenupresentatie()',1000)"> btw. je kan aan een setTimeout best variabelen meegeven alleen zal je de scope van deze vars goed in de gaten moeten houden. Op het moment dat de functie in de timeout wordt uitgevoerd wordt de expressie namelijk pas geparsed en als de variabele dan niet bekend is dan krijg je inderdaad niet het verwachte resultaat. Maar je kan bijvoorbeeld vaak ook iets als onderstaande doen: setTimeout("functie('" + var + "')", 1000)
Link naar reactie
Thx Annie, dat helpt inderdaad :) Maarhuh, nu zit ik eigenlijk met het probleem dat ik zo niet het goede effect krijg. Het submenu verdwijnt nu altijd, ook als ik het submenu 'inga' om daar een link te klikken. :( Heb je (of iemand anders) misschien nog een andere manier waarop ik er een kleine vertraging in kan bouwen, oid.. ? Elja
Link naar reactie

Om een reactie te plaatsen, moet je eerst inloggen

Gast
Reageer op dit topic

×   Geplakt als verrijkte tekst.   Herstel opmaak

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

×
×
  • Nieuwe aanmaken...