Вопрос по 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, время: 02:56. |