Задача:
Есть длинная страница по горизонтали более 3000px. Необходимо скролить страницу просто хватая левой кнопкой мыши за любую точку страницы, и тянув её, аналог обычного виндовского просмотрщика изображений.
Вот что я навоял (все работает, но не гладко, в некоторых моментах страница дергается, и нижний скрол теперь нельзя тягать отдельно), тут показываю только JS, и приложил txt файл полностью функциональный:
<script>
$( document ).ready(function() {
document.captureEvents(Event.MOUSEUP|Event.MOUSEDOWN);
document.onmousedown=DRAG_begindrag;
document.onmouseup=DRAG_enddrag;
var DRAG_lastX, DRAG_dragging;
function DRAG_begindrag(e) {
if (e.which == 1) {
window.captureEvents(Event.MOUSEMOVE);
window.onmousemove=DRAG_drag;
DRAG_lastX=e.pageX;
DRAG_dragging=true;
return false;
}
else {return true;}
}
function DRAG_enddrag(e) {
if (e.which == 1) {
window.releaseEvents(Event.MOUSEMOVE);
window.onmousemove=null
DRAG_dragging=false;
return false;
}
else {return true;}
}
function DRAG_drag(e) {
if (DRAG_dragging) {
s1 = e.pageX - DRAG_lastX
s = window.pageXOffset - s1;
window.scroll(s);
DRAG_lastX = e.pageX;
return false;
}
else {return true;}
}
});
</script>
Помогите пожалуйста понять, почему страница дергается, и как отвязаться от нижнего скрола, чтобы он отдельно хорошо работал.