Bonjour,
Je rencontre une réel difficulté dans mon code : le code est un système de Drag&Drop très basique que j'ai codé en 10 minutes chrono parfaitement, enfin c'est ce que je pensais jusqu'à que je rencontre des problème pour stopper l'effet de déplacement de mon élément
Voici le code tout y est expliqué :
[code
<body>
<!-- petite div qui prend l'apparence d'une boule grace au border-radius 50px -->
<div id="boule" onmousedown="deplacement();" onmouseup="stop();" style="position:absolute; left:0px; cursor:pointer; height:100px;width:100px ;border-radius: 50px ; background-color:red"></div>
<!-- notre petit script très simple mais fonctionnel en DOM-2 -->
<script>
function deplacement()
{
// chaque fois que l'on déplace la souris dans l'ensemble du body on exécute une fonction
document.body.addEventListener ('mousemove', function coordonnees(event){
//récupération de l'évènement event associé à l'évènement mousemove / récupération des coordonnées de la souris
var x = event.clientX ;
var y = event.clientY ;
//on donne les coordonnées de la souris à la boule qui est en position:absolute en enlevant 50 pour centrer le curser de la souris puisqu'il s'agit d'une div
document.getElementById('boule').style.left= x - 50 + 'px' ;
document.getElementById('boule').style.top= y - 50 + 'px' ;}
, false ) ;
}
//Lorsque l'on fait mouseup on appel cette fonction chargé de supprimer l'évènement associé à la fonction coordonnees
function stop()
{
document.body.removeEventListener ('mousemove', coordonnees() , false ) ;
}
</script>
</body>
[/code]
Résultat des courses : Uncaught ReferenceError: coordonnees is not defined dans fonction stop..
J'ai penser qu'il fallait déplacer la fonction coordonnées en dehors de l'évènement pour être lisible de cette manière :
Mais la le problème est que l'évènement mousemove ne fonctionne plus dutout..
Merci pour les futures réponses, le code est entièrement executable dans un html directement à vos test
Cordialement,
Lourenco kevin
Je rencontre une réel difficulté dans mon code : le code est un système de Drag&Drop très basique que j'ai codé en 10 minutes chrono parfaitement, enfin c'est ce que je pensais jusqu'à que je rencontre des problème pour stopper l'effet de déplacement de mon élément

Voici le code tout y est expliqué :
[code
<body>
<!-- petite div qui prend l'apparence d'une boule grace au border-radius 50px -->
<div id="boule" onmousedown="deplacement();" onmouseup="stop();" style="position:absolute; left:0px; cursor:pointer; height:100px;width:100px ;border-radius: 50px ; background-color:red"></div>
<!-- notre petit script très simple mais fonctionnel en DOM-2 -->
<script>
function deplacement()
{
// chaque fois que l'on déplace la souris dans l'ensemble du body on exécute une fonction
document.body.addEventListener ('mousemove', function coordonnees(event){
//récupération de l'évènement event associé à l'évènement mousemove / récupération des coordonnées de la souris
var x = event.clientX ;
var y = event.clientY ;
//on donne les coordonnées de la souris à la boule qui est en position:absolute en enlevant 50 pour centrer le curser de la souris puisqu'il s'agit d'une div
document.getElementById('boule').style.left= x - 50 + 'px' ;
document.getElementById('boule').style.top= y - 50 + 'px' ;}
, false ) ;
}
//Lorsque l'on fait mouseup on appel cette fonction chargé de supprimer l'évènement associé à la fonction coordonnees
function stop()
{
document.body.removeEventListener ('mousemove', coordonnees() , false ) ;
}
</script>
</body>
[/code]
Résultat des courses : Uncaught ReferenceError: coordonnees is not defined dans fonction stop..
J'ai penser qu'il fallait déplacer la fonction coordonnées en dehors de l'évènement pour être lisible de cette manière :
<body>
<!-- petite div qui prend l'apparence d'une boule grace au border-radius 50px -->
<div id="boule" onmousedown="deplacement();" onmouseup="stop();" style="position:absolute; left:0px; cursor:pointer; height:100px;width:100px ;border-radius: 50px ; background-color:red"></div>
<!-- notre petit script très simple mais fonctionnel en DOM-2 -->
<script>
function coordonnees ()
{
//récupération de l'évènement event associé à l'évènement mousemove / récupération des coordonnées de la souris
var x = event.clientX ;
var y = event.clientY ;
//on donne les coordonnées de la souris à la boule qui est en position:absolute en enlevant 50 pour centrer le curser de la souris puisqu'il s'agit d'une div
document.getElementById('boule').style.left= x - 50 + 'px' ;
document.getElementById('boule').style.top= y - 50 + 'px' ;
}
function deplacement()
{
// chaque fois que l'on déplace la souris dans l'ensemble du body on exécute une fonction
document.body.addEventListener ('mousemove', coordonnees(event), false ) ;
}
//Lorsque l'on fait mouseup on appel cette fonction chargé de supprimer l'évènement associé à la fonction coordonnees
function stop()
{
document.body.removeEventListener ('mousemove', coordonnees() , false ) ;
}
</script>
</body>
Mais la le problème est que l'évènement mousemove ne fonctionne plus dutout..

Merci pour les futures réponses, le code est entièrement executable dans un html directement à vos test

Cordialement,
Lourenco kevin