Вопрос по JS
Доброго вам времени суток! В 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>
Здесь на экране появляется слой и при нажатии на него левой кнопкой мыши, слой должен перемещаться за ней, после отпускания клавиши мыши слой останавливается и сохраняет свою позицию. И есть одно "но", после завершения перемещения слоя, координаты мыши начинают подсчитываться относительно слоя, а не относительно документа. Как этого избежать? Пожалуйста, объясните по подробнее, и прошу без таких фраз как "гугл в помощь", "библиотека рулит" или "вот же есть готовый скрипт - юзай". Жду) |
|
Знаю я эту тему, а по моей ничего не по советуете?
|
координаты мыши от твоего скрипта не меняються!!!
если ты ориентируешься на свой вывод document.getElementById(iddiv).innerHTML = 'X : '+gepox+' Y : '+gepoy то он у тебя показывает смещение курсора относительно дива gepox = (tox - parseInt(px1)) gepoy = (toy - parseInt(py1)) onclick="move_am('ask',this.id)" - это обновляет параметры px1 py1 и относительно их новых показаний выводиться твоё сообщение после "остановки" а это вобще из разряда масло масляное 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 |
Ну ведь остановить как то надо
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 |
Мой скрипт можно как нить поправить? Чтобы элементы правильно двигались?
|
htaccess,
по drag'n'drop тонны статей написано, почитайте, и поймёте, в чём у вас ошибка. |
Ребят, можете скинуть готовый рабочий скрипт, где будет нормально перемещаться хотябы 1 div ? Вот только тапками кидаться не надо.
|
Вы поиском принципиально не пользуетесь?
http://yandex.ru/yandsearch?text=%D1...fx3&clid=46510 |
Мне нужен пример, а не чей то скрипт, где куча всяких левых функций и тупо скопированных статей с других сайтов.
Кстати, я всё сам доделал. Всем спс, кто отозвался. |
| Часовой пояс GMT +3, время: 10:12. |