Bonsoir,

Le titre n'est peut être pas forcément explicite, je vais donc donner pas mal de précision :D

En faite je récupère grâce à une fonction maison la position X et Y de ma souris avec un onmousemove dans le body.

Et en dessous j'ai une autre fonction, qui elle, a pour but de changer la valeur d'une div (quand le clic est maintenue dessus) selon la position X de la souris..

J'ai quand même fais quelque tests,
Par exemple en mettant des console.log dans la première fonction j'ai pu voir je récupérais bien la position de la souris.

Le problème ne vient donc pas de là.

J'ai fais aussi d'autre test dans la deuxième fonction, et on me dit dans la console que la fonction page "is not defined".

Auriez-vous de quoi éclairer ma jack-O-lantern ?

Par exemple

Si la position X de la souris est de 1000 la largeur de ma div sera donc de 1000px;

Jusque-là pas de problème, j'ai élaboré un code qui pourrait fonctionner, je dis bien pourrait, car apparement on ne peux pas prendre la valeur d'une variable dans une fonction pour la mettre dans une autre.. Ce serait trop simple :D

Mon code

JS

 function mouseposition(event) { 
   var posX; 
   var posY; 
   posX = event.clientX; 
   posY = event.clientY; 
} 

function page(){
    var barre1 = document.getElementById('page1');
    var barre2 = document.getElementById('page2');

    barre1.style.width = posX + "px";//J'aimerais récupérer la valeur de posX pour le mettre ici..
                                     //Sauf que ce n'est pas possible, dans la console on me dit que 
                                     //"posX is not defined".

} 

Et l'HTML conserné (si besoin)

<body onmousemove="mouseposition(event);">
        <div id="page1" onmousedown="page();">
        </div>
        <div id="page2" onmousedown="page();">
        </div>
    </body>

Auriez-vous donc une solution pour résoudre mon problème ?

2 réponses


antho07
Réponse acceptée

Bonjour,
Tu dois pouvoir également récupérer l'évènement également dans la fonction page().

Pour répondre à ta question de 'passer des variables d'une fonction à l'autre', il faut passer par une variable "globale".

var maVariable ;

function exemple(){
maVariable = 4;
}

function exemple2(){
console.log(maVariable);
}

exemple();exemple2();

cordialement

Antho

Laznet
Auteur

@Antho -
Donc si je suis ton exemple, la variable "maVariable" peut être récupérer partout dans le code si je l'envois à "l'extérieur" de la fonction..
Merci pour cette info :D