Bonsoir
Pour commencer, il faut dire que j'ai jamais vraiment fait de JavaScript ... donc ce que je fais est un peu à tatillon ! Dans le cas présent j'ai récupéré en grosse partie un script d'un site spécialisé ...
Mon problème est le suivant : comme vous pouvez le voir sur http://www.zonehd.net/drag.php , on peut déplacer le div avec la souris. Vous l'avez sûrement remarqué, au premier mouvement, le div se décale tout seul ... ensuite plus de problème, il suit correctement le curseur !
Voici le code source au cas où :
Merci de votre aide par avance
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89 <html> <style type="text/css"> .transparent { top:100px; left:100px; background-color:#cccccc; position:absolute; width:200; height:200; cursor:move; } .textetransp { color:#ffffff; text-decoration:none; filter: alpha(opacity=100); opacity:1; background-color:#336699; } </style> </html> <body> <script language="JavaScript1.2"> <!-- var ie=document.all; var nn6=document.getElementById&&!document.all; var isdrag=false; var x,y; var dobj; function movemouse(e) { if (isdrag) { var X = tx - x; var Y = ty - y; //alert(X+' '+Y); dobj.style.left = nn6 ? e.clientX + X : event.clientX + X; dobj.style.top = nn6 ? e.clientY + Y : event.clientY + Y; return false; } } function selectmouse(e) { var fobj = nn6 ? e.target : event.srcElement; var topelement = nn6 ? "HTML" : "BODY"; while (fobj.tagName != topelement && fobj.className != "transparent") { fobj = nn6 ? fobj.parentNode : fobj.parentElement; } if (fobj.className=="transparent") { isdrag = true; // objet à déplacer dobj = fobj; // espacement gauche de l'objet tx = parseInt(dobj.style.left+0); // espacement droit de l'objet ty = parseInt(dobj.style.top+0); // position x de la souris x = nn6 ? e.clientX : event.clientX; // position y de la souris y = nn6 ? e.clientY : event.clientY; document.onmousemove=movemouse; return false; } } document.onmousedown=selectmouse; document.onmouseup=new Function("isdrag=false"); //--> </script> <div class="transparent" id="transp"><br /> <font class="textetransp">Ceci est un essai</font> <br /> <a href="#" onclick="document.getElementById('transp').style.visibility='hidden';">Fermer !</a></div> </body> </html>![]()
Partager