Активная мини-карта
Имеется 2 канваса для рисования с загруженной на них картинкой. Первый - карта, второй - миникарта.
Помогите настроить перемещение по карте зажатой кнопкой мыши, а не на баттонах, установленных ниже канваса. Плюс, так же перемещение миникарты совместно с перемещением основной карты. В джваскрипте совсем новичок, очень жду вашей помощи. Весь исходник: <html> <head> <link rel='stylesheet' href='/stylesheets/style.css' /> </head> <style type="text/css"> body { </style> <script type="text/javascript"> } } </script> <body> </body> </html> |
EvIIIL,
addEventListener('mousedown', function(event) {}) addEventListener('mousemove', function(event) {}) event.pageX event.pageY |
Цитата:
пытался вставить в функцию onload - не вышло, перед ней - все дропается. Внутренние параметры функции какие писать? сейчас сижу, учу JS, а пока что рассчитываю только на вас:-? |
EvIIIL,
Трудно) Короче 1) Приведи свой код к единому стилю. Над каждой функцией напиши что она делает, какие параметры передаются и что она возвращает. Ты офигеешь как проще будет работать и что-то выяснять 2) Это тебе просто идея на посмотреть. Пихай туда где канвас определяешь var isMoving = false; canvas.addEventListener('mousedown', function(event) { // event - объект события, в нем много интересной фигни // попробуй console.log(event) и увидишь // event.pageX, event.pageY - координаты `места` события console.log(event.pageX); console.log(event.pageY); isMoving = true; }); canvas.addEventListener('mouseup', function(event) { isMoving = false; }); canvas.addEventListener('mousemove', function(event) { if (isMoving) { moveIm(event.pageX, event.pageY); }; }); 3) Чуть поправь для демонстрации function moveIm(dx,dy){ x0 = dx; y0 = dy; |
Цитата:
теперь проблема в ее функционировании) при передвигании канваса картинка сдвигается в третью часть экрана, то бишь координаты видимо забиваются отрицательные, и собственно при следующем нажатии начинает двигать не с того места куда передвинул, то бишь не запоминает текущие координаты я человек совестливый, не хочу показаться наглым, и просить помощи абсолютно в каждом действии. Сидел сейчас, разбирался полтора часа, так ничего и не пришло в голову. В шарпе уж давно бы решение пришло, но это для меня ново, а диплом-то сам не напишется:( |
EvIIIL,
Цитата:
Цитата:
Цитата:
|
Цитата:
|
|
Часовой пояс GMT +3, время: 09:37. |