cs_ov3rdoze
Messages postés414Date d'inscriptionlundi 19 juillet 2004StatutMembreDernière intervention23 septembre 2014
-
12 juin 2008 à 09:44
cs_ov3rdoze
Messages postés414Date d'inscriptionlundi 19 juillet 2004StatutMembreDernière intervention23 septembre 2014
-
12 juin 2008 à 10:18
Salut
J'ai fait quelque chose qui ressemble à un alert() en un peu plus joli (il s'agit de 3 div superposés à l'intérieur d'un autre).
Je voulais que msgBox puisse être dépacé dans la fenêtre, comme un alert. J'ai fait ceci :
var dad = false;
var diff_x = 0;
var diff_y = 0;
titreBox.onmousedown = function () {
dad = true;
diff_x = 0;
diff_y = 0;
}
titreBox.onmouseup = function () {
dad = false;
diff_x = 0;
diff_y = 0;
}
dad permet de dire si on déplace ou pas.
diff_x et diff_y sont l'endroit ou l'on clique titreBox.
Ca fonctionne très bien tnt qu'on déplace lentement. Si on déplace vite et que le curseur sort du div, msgBox ne se déplace plus, et onmouseout n'a plus d'effet (donc quand je repasse sur titreBox après, même si j'ai relaché, celui-ci suit la souris).
XtremDuke
Messages postés626Date d'inscriptionsamedi 28 septembre 2002StatutMembreDernière intervention18 mai 20094 12 juin 2008 à 09:58
Le mousemove doit se faire sur le document et non sur ta fenetre.
Voilà le fonctionnement d'un Drag :
onClick sur ta fenetre -> determination des coordonnées de ta fenetre par rapport au click + ajout de l'évenement mouseMove sur le document.
mouseMove du document - > on déplace la fenetre moins la difference click/fenetre qu'on a récuperé précédement.
mouseUp du document -> on supprime les listener d'évenement.
Si tu veux un exemple, jette un coup d'oeuil sur mon framework perso (en dév.) à l'adresse suivante :