Доброго вам времени суток! В javascript я чайник, но стараюсь его изучать. И вот такая проблемка, вот код :
<html>
<head>
<script>
function mousePageXY(e){
var x = 0, y = 0;
x = e.clientX;
y = e.clientY;
return {"x":x, "y":y};
}
var stop;
var iddiv;
function move_am(stop,iddiv){
px1 = document.getElementById(iddiv).style.left
py1 = document.getElementById(iddiv).style.top
document.onmousemove = function(e){
var mCur = mousePageXY(e);
tox = mCur.x
toy = mCur.y
gepox = (tox - parseInt(px1))
gepoy = (toy - parseInt(py1))
document.getElementById(iddiv).innerHTML = 'X : '+gepox+' Y : '+gepoy
if (stop == "ask"){
var lfet = document.getElementById(iddiv).style.left
var tfet = document.getElementById(iddiv).style.top
document.getElementById(iddiv).style.left = lfet
document.getElementById(iddiv).style.top = tfet
} else {
document.getElementById(iddiv).style.left = gepox
document.getElementById(iddiv).style.top = gepoy
}
}
}
</script>
</head>
<body>
<div style="position: absolute; width: 100px; height: 100px;background-color: #808080; border-top:20px solid;left:37px; top:26px" onMouseDown="move_am('lol',this.id)" onclick="move_am('ask',this.id)" id="layer1">
</div>
</body>
</html>
Здесь на экране появляется слой и при нажатии на него левой кнопкой мыши, слой должен перемещаться за ней, после отпускания клавиши мыши слой останавливается и сохраняет свою позицию.
И есть одно "но", после завершения перемещения слоя, координаты мыши начинают подсчитываться относительно слоя, а не относительно документа.
Как этого избежать?
Пожалуйста, объясните по подробнее, и прошу без таких фраз как "гугл в помощь", "библиотека рулит" или "вот же есть готовый скрипт - юзай".
Жду)