Наклон колесика мыши против прокрутки в JavaScript, scrollTop

avatar
root
1 июля 2021 в 21:03
81
1
0

Некоторые компьютерные мыши имеют колесо прокрутки, которое можно наклонять влево и вправо.

Это позволяет перемещаться по измерению времени в приложении Google Piano Roll (код здесь).

У меня есть следующие цели:

  1. Сделайте рояль вертикальным, а не горизонтальным. Вот изображение с прокручивающимися вертикальными полосами в другом приложении, просто для примера:

enter image description here

  1. Разрешить обычную вертикальную прокрутку колесика мыши для навигации по измерению времени (вместо наклона колесика мыши влево/вправо, как сейчас).

Я достиг первой цели, заменив

this.context.translate(-offset * 2, 0);

здесь автор

this.context.translate(0, offset * 2);

and by swapping left with top and height with width and changing some signs here (codebase here).

Однако измерение времени по-прежнему реагирует на наклон колесика мыши влево/вправо вместо обычной вертикальной прокрутки колесика мыши. Возможно, это как-то связано с файлом Scroll.js. Я попытался заменить scrollLeft на scrollTop и тому подобное, но это нарушило текущую нормальную функциональность. Любые намеки на то, как передается информация о горизонтальной прокрутке?

(Для запуска кода: npm install, решения ошибки C2664. Затем вызовите node_modules/.bin/webpack -p из каталога pianoroll. Откройте каталог <34447941828>, чтобы получить звук. символ, затем нажмите кнопку воспроизведения.)

Источник

Ответы (1)

avatar
root
4 июля 2021 в 14:18
0

В roll.scss заменить

    overflow-y: hidden;
    overflow-x: scroll;

по

    overflow-x: hidden;
    overflow-y: scroll;

Без этой модификации scrollTop не менялся.