Bedankt voor de reacties, maar het werkt nog steeds niet (in Mozilla)
De bedoeling van het scrippie is dat een divje beweegt totdat iemand op erop klikt met zijn muis (onmousedown), als hij dan de muis weer loslaat (onmouseup) dan moet hij weer beginnen te bewegen.
Het werkt dus wel in IE, maar niet in Mozilla.
Als ik evnt.target gebruik, dan wordt er verwezen naar het HTMLelement, maar ik krijg niet het oorspronkelijke object te pakken
code:
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
| function beeld(id,width,height){
x=document.createElement("div");
x.style.position="absolute";
x.id=id;
x.yy=100;
x.xx=100;
x.vx=vmin+vmax*Math.random();
x.vy=vmin+vmax*Math.random();
x.style.top=x.yy;
x.style.left=x.xx;
x.style.zIndex=0;
x.w=width;
x.h=height+20;
x.style.width=width+"px";
x.style.height=height+"px";
ob=null;X=0;Y=0;
x.onmousedown=function(e){IE?ob=event.srcElement.parentElement:ob=e.target;
clearInterval(ob.timer);
IE?X=event.offsetX:X=e.layerX;IE?Y=event.offsetY:Y=e.layerY;};
x.onmousemove=function(e){if(ob!=null){IE?ob.style.pixelLeft=event.clientX-X+document.body.scrollLeft-2:ob.style.left=e.clientX-X;
IE?ob.style.pixelTop=event.clientY-Y+document.body.scrollTop-2:ob.style.top=e.clientY-Y;return false;}};
x.onmouseup=function(e){if(ob!=null){IE?ob.timer=setInterval(ob.id+".beweeg()",100):ob.timer=setInterval(ob+".beweeg()",100)};ob=null;};
return x;
}
function totaal(id,plaat,tkst,width,height){
temp=new beeld(id,width,height);
temp.beweeg=beweeg;
tempimg=new plaatje(plaat,width,height);
temptekst=new tekst(tkst);
temp.appendChild(tempimg);
temp.appendChild(temptekst);
return temp;
}
var tre=new Array();
function bez(plt,tekst){
tre[tre.length]=new totaal('tre'+tre.length,plt,tekst,100,100);
document.body.appendChild(tre[tre.length-1]);
tre[tre.length-1].timer=setInterval("tre["+(tre.length-1)+"].beweeg()",100);
}//end bez |