Page 1 sur 2

Javascript - delay (mais pas tt à fait...)

MessagePublié: Dim Août 19, 2007 21:14
par Johnny le Chat
Bonjour à tous,
Tout d'abord, j'espère que mes posts ne polluent pas le site, car ils sont nombreux et ne correspondent pas particulierment à l'envirronement mac... Si ça gène, dites-le moi, j'irai voir ailleurs... ( :smileylm15: )

Mon pb est le suivant: j'aimerais qu'une action javascript ne se lance que si la souris reste un certains temps sur un objet. Si elle s'en va avt le temps voulu, l'action ne se déclanche pas...
(C'est différent d'un delay en le sens que ce n'est pas une execution de l'action diferée).

J'espère que vous m'avez compris...

Merci à vous
Johnny le Chat

MessagePublié: Dim Août 19, 2007 21:27
par Elaum
Très facile a faire avec setTimeOut et clearTimeOut

Lorsque tu passe la souris sur ton objet, tu crée un timer = setTimeOut qui appelle une fonction qui fait ton boulot.
Et onmouseover="clearTimeOut(timer)"

MessagePublié: Dim Août 19, 2007 21:49
par Johnny le Chat

MessagePublié: Dim Août 19, 2007 21:56
par Elaum

MessagePublié: Dim Août 19, 2007 22:05
par Johnny le Chat

MessagePublié: Dim Août 19, 2007 22:51
par Elaum

MessagePublié: Dim Août 19, 2007 22:56
par Johnny le Chat

MessagePublié: Lun Août 20, 2007 03:20
par ThomasD

MessagePublié: Lun Août 20, 2007 15:57
par tom (webmaster)
De rien :)

MessagePublié: Mar Août 21, 2007 10:09
par Johnny le Chat

MessagePublié: Mar Août 21, 2007 11:56
par Elaum
chaque balise HMLT possède un certain nombre d'attributs optionnels qui sont :
onfocus, onmouseover, onclick.... (liste complète ici)

Le principe est simple, ces attributs prennent comme valeur une chaîne de caractère qu'il transforment en javascript lorsque l'événement se déclenche.

Donc dans ton exemple, quand la souris passe sur le div, ça évalue la chaîne "timer=setTimeout('test(\'1\')',3000)" comme du javascript.

NB : tu peu évaluer une chaîne en javascript avec la fonction eval("code...")

MessagePublié: Mar Août 21, 2007 13:31
par Johnny le Chat

MessagePublié: Mar Août 21, 2007 17:52
par Elaum

MessagePublié: Mar Août 21, 2007 20:34
par Johnny le Chat

MessagePublié: Mar Août 21, 2007 21:37
par Johnny le Chat