Bonjour,
J'ai un morceau de code qui marche bien sous IE et presque sous firefox.
Il s'agit de deplacer une" image" inséree dans un "layer". Sous firefox, lorsqu'on deplace la souris un peu trop vite,
le layer reste attaché à la position de la souris.
De maniere plus generale, comment puis-je faire la part des choses entre le code javascript supporté par firefox, netscape ou internet E ? Un site a-t-il recensé les nuances ?
Merci par avance
modéré par denisC : ajout des balises code
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
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>Document sans titre</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body> <script language="JavaScript1.2"> // Script Source: CodeLifter.com // Copyright 2003 // Do not remove this header isIE=document.all; isNN=!document.all&&document.getElementById; isN4=document.layers; isHot=false; function ddInit(e){ topDog=isIE ? "BODY" : "HTML"; whichDog=isIE ? document.all.theLayer : document.getElementById("theLayer"); hotDog=isIE ? event.srcElement : e.target; while (hotDog.id!="titleBar"&&hotDog.tagName!=topDog){ hotDog=isIE ? hotDog.parentElement : hotDog.parentNode; } if (hotDog.id=="titleBar"){ offsetx=isIE ? event.clientX : e.clientX; offsety=isIE ? event.clientY : e.clientY; nowX=parseInt(whichDog.style.left); nowY=parseInt(whichDog.style.top); ddEnabled=true; document.onmousemove=dd; } } function dd(e){ if (!ddEnabled) return; whichDog.style.left=isIE ? nowX+event.clientX-offsetx : nowX+e.clientX-offsetx; whichDog.style.top=isIE ? nowY+event.clientY-offsety : nowY+e.clientY-offsety; return false; } function ddN4(whatDog){ // alert("N4"); if (!isN4) return; N4=eval(whatDog); N4.captureEvents(Event.MOUSEDOWN|Event.MOUSEUP); N4.onmousedown=function(e){ N4.captureEvents(Event.MOUSEMOVE); N4x=e.x; N4y=e.y; } N4.onmousemove=function(e){ if (isHot){ N4.moveBy(e.x-N4x,e.y-N4y); return false; } } N4.onmouseup=function(){ N4.releaseEvents(Event.MOUSEMOVE); } } function hideMe(){ if (isIE||isNN) whichDog.style.visibility="hidden"; else if (isN4) document.theLayer.visibility="hide"; } function showMe(){ if (isIE||isNN) whichDog.style.visibility="visible"; else if (isN4) document.theLayer.visibility="show"; } document.onmousedown=ddInit; document.onmouseup=Function("ddEnabled=false"); </script> <!-- BEGIN FLOATING LAYER CODE //--> <div id="theLayer" style="position:absolute; width:316px; left:100; top:100; visibility:visible; height: 231px;"> <table border="0" width="250" cellspacing="0" cellpadding="5"> <tr> <td width="100%"> <table border="0" width="100%" cellspacing="0" cellpadding="0" height="221"> <tr> <td width="100%" height="221" id="titleBar" style="cursor:move"> <layer left="1" top="-93" width="100%" onMouseover="isHot=true;if (isN4) ddN4(theLayer)" onMouseout="isHot=false"> fuck <img src="img/telecommande/telecom.gif"> </layer> </td> </tr> </table> </td> </tr> </table> </div> <!-- END FLOATING LAYER CODE //--> <a href="javascript:showMe();">show</a> <a href="javascript:hideMe();">hide</a> </body> </html>
Partager