Показать сообщение отдельно
  #1 (permalink)  
Старый 22.01.2010, 09:55
Новичок на форуме
Отправить личное сообщение для Th0m@$ Посмотреть профиль Найти все сообщения от Th0m@$
 
Регистрация: 22.01.2010
Сообщений: 7

отрисовка изображения по произвольным координатам
Всем привет!
Помогите плз новичку.

Необходимо реализовать возможность прокрутки изображения с помощью мыши. Сам дошел тока до того как реализовать события мыши (см. код ниже). В функции ms_over я получаю смешения dx и dy. Теперь необходимо перерисовать изображение по новым координатам. Причем смешение может быть и отрицательным, часть изображения которая выходить за пределы ограничивающего элемента должна обрезаться.
Облазил весь интернет и ничего не нашел. Подскажите как реализовать такую функциональность, плз.

<script type="text/javascript">

var gl_x; gl_y, x, y, activate = false;

function ms_down(event) {
defPosition(event);
x = gl_x; y = gl_y;
activate=true;
}

function ms_up(event) {
activate=false;
}

function ms_over(event) {
if (activate) {
dx = gl_x - x;
dy = gl_y - y;
// перерисовка изображения...
}
}

function defPosition(event) {
var x = y = 0;
var event = event || window.event;
if (document.attachEvent != null) { // Internet Explorer & Opera
x = window.event.clientX + (document.documentElement.scrollLeft ?
document.documentElement.scrollLeft : document.body.scrollLeft);
y = window.event.clientY + (document.documentElement.scrollTop ?
document.documentElement.scrollTop : document.body.scrollTop);
}
else if (!document.attachEvent && document.addEventListener) { // Gecko
x = event.clientX + window.scrollX;
y = event.clientY + window.scrollY;
}
y0=document.getElementById("map").offsetTop;
x0=document.getElementById("map").offsetLeft;
gl_x = x-x0;
gl_y = y-y0;
}
</script>
Ответить с цитированием