Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien
Toon posts:

Javascript (onMouseOver & setTimeout)

Pagina: 1
Acties:
  • 557 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Ik ben momenteel bezig met een klein systeempje.

Het is de bedoeling dat een div een hogere zIndex krijgt wanneer er met de muis overheen wordt gegaan. (Dat lukt..) onMouseOver="this.style.zIndex='5'"..

Nu wil ik dat dit gebeurt alleen niet zoals nu, binnen notime, maar dat het een halve seconde duurt voordat de div zijn zIndex wordt verhoogd. Ik heb dit geprobeerd met setTimeout

bijv: onMouseOver="setTimeout("this.style etc etc.",500)". Dit werkt zo niet. Maar hoe wel?

Alvast bedankt.

  • disjfa
  • Registratie: April 2001
  • Laatst online: 04-11 11:05

disjfa

be

Inline html, dan zijn javascript parameters lowercase : onmouseover

En een setTimeOut roept een functie aan, bv functie_naam(parameter)

Dan kan je in de javascript een functie genaamd functie_naam aanmaken en die laten doen wat jij wilt.

disjfa - disj·fa (meneer)
disjfa.nl


  • Snake
  • Registratie: Juli 2005
  • Laatst online: 07-03-2024

Snake

Los Angeles, CA, USA

onmouseover="setTimeout('function(){ this.style.zIndex= 5 }()', 500)"

Going for adventure, lots of sun and a convertible! | GMT-8


Verwijderd

dat gaat dus ook niet werken

code:
1
onmouseover="var that=this; setTimeout(function(){that.style.zIndex = 5;},500);"

Snake's code is fout om de volgende redenen
- settimeout wil een functie reference, geen string, zoals disjfa al aangeeft
- de functie moet niet uitgevoerd worden, maar als reference worden doorgegeven
- "this" verliest de context, die moet je dus bewaren met een closure