JQuery прокрутка с помощью перетаскиваемого div - PullRequest
0 голосов
/ 06 апреля 2011

Я делаю плагин jQuery, который создает прокручиваемый div.Вы можете прокручивать вверх и вниз, используя div на правой стороне.Проблема в том, что мой перетаскиваемый div выглядит довольно осторожно при его перемещении.

Полный пример того, что я пытаюсь найти, приведен здесь: http://jsfiddle.net/j8Hqq/1/

Я думаю, что код нарушителяздесь:

.mousemove(function(e) {
    if(being_dragged) {
        scroller_y = e.pageY - $(this).offset().top;

        if(scroller_y < 0)
            scroller_y = 0;
        else if(scroller_y > $this.height() - $(this).height())
            scroller_y = $this.height() - $(this).height();
    }

    $(this).css({
        top: scroller_y
    });

    $('#custom-scroll-children').scrollTop(scroller_y);
});

Я думал о реализации в нем jQuery-ui.draggable, но не хотел, чтобы к плагину была подключена большая библиотека.

Спасибо,

Ответы [ 2 ]

1 голос
/ 06 апреля 2011

$(this).offset().top; в mousemove получает дико отличающиеся значения, поэтому он такой же резкий, как и сейчас. Я получил более плавные результаты, поместив topOffset = $(this).offset().top; в функцию mousedown, а затем scroller_y = e.pageY - topOffset; в mousemove.

Есть еще проблемы (прокрутка останавливается, когда мышь покидает область прокрутки, быстрые движения мыши останавливают прокрутку).

Вы смотрели на http://jscrollpane.kelvinluck.com/? Это плагин jQuery, который в значительной степени делает то, что вы пытаетесь достичь здесь.

0 голосов
/ 06 апреля 2011

.css функция делает перетаскиваемый div div Judyy, вы можете попробовать функцию "animate".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...