Задать вопрос
tokmaganbet
@tokmaganbet

Как сделать скролл блока по вертикали с зажатой кнопкой?

Есть такой блок, полоса прокрутки уже скрыта, он листается, но только колесиком мыши. Надо чтобы листалост с зажатой ЛКМ.
5b61e5c619f47412040067.png
Пробовал использовать вот такой код, но увы... Не работает
var $doc = $(document),
        ratio = $doc.height() / $(window).height(), //отношение окна к общей высоте блока, чтобы тянуть весь блок.
        mousepos, to;
    $doc.on('mousedown', '#sidebar', dragstart);

    function dragstart(e) {
        e.preventDefault();
        mousepos = e.screenY;
        $doc.on('mousemove.drag', drag);
        $doc.one('mouseup.drag mouseout.drag', dragstop);
    }

    function drag(e) {
        clearTimeout(to);
        var delta = (e.screenY - mousepos) * ratio;
        to = setTimeout(function () { // таймаут чтобы события от мыши не перекрывали друг друга, 
            $doc.scrollLeft($doc.scrollLeft() + delta);
            mousepos = e.screenY;
        }, 1);
    }

    function dragstop(e) {
        $doc.off('mousemove.drag mouseup.drag mouseout.drag');
    }

html не стану скидывать слишком много кода.
Если что, вот сайт - tokmaganbet.ru/sites/test
  • Вопрос задан
  • 200 просмотров
Подписаться 1 Средний Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
Rocket Смоленск
от 80 000 до 130 000 ₽
div. Ставрополь
от 40 000 до 90 000 ₽
Wanted. Санкт-Петербург
До 220 000 ₽