Скролл перетаскиванием
Мне требуется сделать аналог "руки" в различных программах, например acrobat reader, чтобы при перемещении курсора мыши в нажатом состоянии левой кнопки, страница браузера скролилась вместе с этим перемещением.
Вот такой скрипт. Но работает он жутко коряво. Почему так? Как надо?
Посоветуйте, пожалуйста.
var down = 0;
var x = 0;
var y = 0;
var dx;
var dy;
document.onmousedown = function(e) {
e = e || window.event;
down = 1;
x = e.clientX;
y = e.clientY;
}
document.onmouseup = function(e){
e = e || window.event;
down = 0;
}
document.onmousemove = function(e){
e = e || window.event;
var move_state = document.getElementById('move_state');
var xy = document.getElementById('xy');
if(down == 1){
dx = e.clientX - x;
dy = e.clientY - y;
window.scrollBy(dx, dy);
x=e.clientX;
x=e.clientY;
}else{
}
}
|