Javascript werkt niet
ik heb een soort van divje die ik wil kunnen verplaatsen maar het werkt alleen niet.
CODE:
Code (php)
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
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
<script>
var drag;
var t_x, t_y, tpx, tpy;
function drag_start(e){
var xx = document.getElementById(e);
t_x=event.clientX;
t_y=event.clientY;
tpx=xx.style.pixelLeft;
tpy=xx.style.pixelTop;
drag=true;
document.onmousemove=dragmove(e);
}
function drag_stop(e){
drag=false;
}
function dragmove(e){
var xx = document.getElementById(e);
document.title=event.clientX;
if(drag==true){
document.title="M00oveing";
xx.style.pixelLeft=tpx+event.clientX-t_x;
xx.style.pixelTop=tpy+event.clientY-t_y;
return false;
}
}
</script>
var drag;
var t_x, t_y, tpx, tpy;
function drag_start(e){
var xx = document.getElementById(e);
t_x=event.clientX;
t_y=event.clientY;
tpx=xx.style.pixelLeft;
tpy=xx.style.pixelTop;
drag=true;
document.onmousemove=dragmove(e);
}
function drag_stop(e){
drag=false;
}
function dragmove(e){
var xx = document.getElementById(e);
document.title=event.clientX;
if(drag==true){
document.title="M00oveing";
xx.style.pixelLeft=tpx+event.clientX-t_x;
xx.style.pixelTop=tpy+event.clientY-t_y;
return false;
}
}
</script>
Msar als ik het zo doe verplaatst het divje wel :S
CODE:
Code (php)
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
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
<script>
var drag;
var t_x, t_y, tpx, tpy;
function drag_start(e){
var xx = document.getElementById(e);
t_x=event.clientX;
t_y=event.clientY;
tpx=xx.style.pixelLeft;
tpy=xx.style.pixelTop;
drag=true;
document.onmousemove=dragmove(e);
}
function drag_stop(e){
drag=false;
}
function dragmove(e){
var xx = document.getElementById(e);
document.title=event.clientX;
if(drag==true){
document.title="M00oveing";
xx.style.pixelLeft=tpx+event.clientX-t_x+10; // TOEGEVOEGD: +10!!!!!
xx.style.pixelTop=tpy+event.clientY-t_y+10; // TOEGEVOEGD: +10!!!!!
return false;
}
}
</script>
var drag;
var t_x, t_y, tpx, tpy;
function drag_start(e){
var xx = document.getElementById(e);
t_x=event.clientX;
t_y=event.clientY;
tpx=xx.style.pixelLeft;
tpy=xx.style.pixelTop;
drag=true;
document.onmousemove=dragmove(e);
}
function drag_stop(e){
drag=false;
}
function dragmove(e){
var xx = document.getElementById(e);
document.title=event.clientX;
if(drag==true){
document.title="M00oveing";
xx.style.pixelLeft=tpx+event.clientX-t_x+10; // TOEGEVOEGD: +10!!!!!
xx.style.pixelTop=tpy+event.clientY-t_y+10; // TOEGEVOEGD: +10!!!!!
return false;
}
}
</script>
Waarom werkt het niet als ik het gewoon versleep?
Waarom moeilijk doen, als je een werkende code hebt? is er iets niet goed aan de tweede code?
Ik denk dat je de muisbeweging vergeet te registreren. De fout zit waarschijnlijk in drag_start(), die tpx en tpy niet goed aanpast.
de waardes zijn wel anders :S