Как контролировать приращение прокрутки в Firefox при нажатии кнопок полосы прокрутки? - PullRequest
3 голосов
/ 13 декабря 2010

Я думал, что это связано с CSS-свойством line-height, но оно не работает. Как настроить количество прокрутки при нажатии кнопок прокрутки вверх / вниз?

Ответы [ 3 ]

0 голосов
/ 20 января 2011

Если вы хотите прокрутить произвольную область (а не объект, такой как дерево, который уже поддерживает прокрутку), тогда вы можете установить переполнение: скрытый и использовать явные элементы полосы прокрутки.К сожалению, для скрипта не существует простого способа обнаружить взаимодействие пользователя с элементами полосы прокрутки, кроме просмотра атрибута curpos.

0 голосов
/ 21 сентября 2011

Вы не можете напрямую контролировать приращение прокрутки в Firefox при нажатии кнопок полосы прокрутки, но вы можете использовать этот код:

    //element may be window or a HTML element
    //amount of incrementation should be an integer representing the number of pixels to be scrolled
    //works in all last versions of major browsers

    element.addEventListener(/firefox/i.test(navigator.userAgent) ? 'DOMMouseScroll' : 'mousewheel', function (event) {
    element.scrollTop -= (event.detail ? (event.detail % 2 ? event.detail / -3 : event.detail / -2) : event.wheelDelta / 120) * amount;
event.preventDefault();
    }
0 голосов
/ 13 декабря 2010

Насколько я знаю, это не то, что вы контролируете.Однако вы можете прослушать событие Javascript onScroll, а затем использовать метод scrollBy Javascript, чтобы прокрутить страницу более или менее в зависимости от того, что вы хотите.Я не уверен, как это выглядело бы, хотя, это может быть немного резким и запутанным для пользователя.Вы также должны принять во внимание, увеличил или нет пользователь масштабирование страницы.

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