Показать сообщение отдельно
  #1 (permalink)  
Старый 15.10.2013, 02:48
Новичок на форуме
Отправить личное сообщение для trec Посмотреть профиль Найти все сообщения от trec
 
Регистрация: 15.10.2013
Сообщений: 2

scroll по телу страницы с помощью мыши
Задача:
Есть длинная страница по горизонтали более 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>


Помогите пожалуйста понять, почему страница дергается, и как отвязаться от нижнего скрола, чтобы он отдельно хорошо работал.
Вложения:
Тип файла: txt tmp.txt (1.8 Кб, 11 просмотров)
Ответить с цитированием