aquanovax
Messages postés25Date d'inscriptionjeudi 30 novembre 2006StatutMembreDernière intervention14 février 2009
-
29 févr. 2008 à 19:29
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 2013
-
1 mars 2008 à 15:06
Bonsoir, voila mon problème :
j'ai besoin d'appeler une fonction dont son paramètre est un événement mousemove, au travers d'un Timeout!
--> setTimeout('mouseFunc('evt')',40);
j'ai essayer de plusieurs façon mais je n'ai pas réussis.
Ca fais un bon moment que je bloque avez-vous des idées?
Merci de vos réponses !
A voir également:
Apelle d'une fonction avec un événement comme paramètre
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 1 mars 2008 à 12:01
ah... là effectivement... pour FF faut un truc que je trouve bizarre...
function Deplace(evt)
{ if (ie) { event.x+document.body.scrollLeft;
event.y+document.body.scrollTop;
}
else { evt.pageX;
evt.pageY;
}
}
var ie false; /*@cc_on ie true; @*/
// pour détecter IE, j'aime bien, on peut faire autrement !
document.body.onmousemove = function(event)
// document.body ou un élément bien entendu
{ evt = event?event:window.event;
Deplace(evt);
}
aquanovax
Messages postés25Date d'inscriptionjeudi 30 novembre 2006StatutMembreDernière intervention14 février 2009 1 mars 2008 à 13:41
Je n'y arrive toujours pas !
<hr size="2" width="100%" />
Voila plus précisément mon code :
/* Initialisation " appelée au chargement de la page" */
function init()
{
/// Capture the mouse position
document.captureEvents(Event.MOUSEMOVE); // -> Ca ne marche plus si je supprime cette ligne
/// Add event to container div
var container =document.getElementById('container');
container.addEventListener('mouseover', calculatemouse, true);
}
/* Cette fonction est appelée quand la souris se trouve sur une div */
function calculatemouse(evt)
{
/* opération sur la position de la souris */
move(rel_x, inc);
}
function move(rel_x, inc)
{
/* déplacement d'un objet */
/*
- Ré-appel la fonction calculatemouse pour ré-évaluer la position de la souris
- C'est là que je n'arrive pas à appelé la fonction calculatemouse ( à cause de l'event )
*/
setTimeout('calculatemouse(evt)',40);
}
aquanovax
Messages postés25Date d'inscriptionjeudi 30 novembre 2006StatutMembreDernière intervention14 février 2009 1 mars 2008 à 14:01
Effectivement, je me suis trompé je l'admet cette ligne ne change rien.
Cependant ta réponse n'a aucun rapport avec mon problème dans ton exemple une fonction est appelée quand la souris se déplace sur la page, tu récupère l'événement est appel la fonction déplace où tu récupère la position de la souris en fonction de IE ou FF ( je me trompe ?? ).
Dans mon code, Je
dois
appelé la fonction calculatemouse en continu ( à l'aide d'un setTimeout ) tant que la souris se trouve sur ma div container (bien entendu je fais un test pour savoir si elle s'y trouve toujours ou non).
Je n'arrive pas à passer la variable evt qui correspond à l'événement mousemove correctement de le setTimeout, je me demande d'ailleur si c'est possible.
aquanovax
Messages postés25Date d'inscriptionjeudi 30 novembre 2006StatutMembreDernière intervention14 février 2009 1 mars 2008 à 14:51
>>le setTimeout est inutile.... si on ne déplace pas la souris !!!!!
Je ne voyais pas les choses sous cette angle, je vais modifier mon code.
Il est vrai que tant que la souris ne s'est pas déplacer, sa position est connu, mais le setTimeout rest nécaissaire car l'objet dois continuer de se déplacer même lorsqu'il n'y a pas de mouvement.
>>
Je n'arrive pas à passer la variable evt
tu as l'exemple.
>>>> Pas pour passer le paramètre dans un setTimeout essai et tien moi au courant !
>>tu n'as pas respecté le moindre iota de mon exemple.....
ton exemple n'a strictement rien apporté, peut-être que ceci était dû à un manque d'explication de mon côté.
Bref je posterai la source quand elle sera prête, sache que j'accepte
ta réponse bien qu'imparfaite elle ma mise sur la bonne voie!
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 1 mars 2008 à 14:58
>> Pas pour passer le paramètre dans un setTimeout essai et tien moi au courant !
ah... ton problème est passer un paramètre dans setTimeout ?
rien avoir avec connaître la position de la souris alors ... si ?
c'est seez bianire, j'allais te donner encore un exemple... mais :
>>ton exemple n'a strictement rien apporté,
alors, je ne vois pas je que je pourrais faire de plus...
puisque mon aide ne sert à rien...
aquanovax
Messages postés25Date d'inscriptionjeudi 30 novembre 2006StatutMembreDernière intervention14 février 2009 1 mars 2008 à 15:04
Je suis entrain de fair un visoineur d'image, la position de la souris est prise en compte pour adapter la vitesse de déroulement des images à la position de la souris dans la div conteneuse.