Как отключить прокрутку в родительском окне?

0

У меня есть поле <select> со многими опциями, и вы можете прокручивать их. Когда вы переходите в нижнюю часть списка опций и продолжаете прокрутку, прокрутка "переполняется" в родительское окно и вместо этого прокручивает окно вниз. Есть ли способ отключить это, т.е. Когда вы прокручиваете нижнюю прокрутку вниз, отключена?

Вот скрипка. Чтобы получить эффект, который я описываю, наведите указатель мыши на несколько вариантов и прокрутите вниз (используя трекпад, колесо прокрутки и т.д.) До конца, затем продолжите прокрутку. Прокрутится вся страница. Мое желаемое поведение заключается в том, чтобы вся страница не прокручивалась при достижении нижней части опций выбора.

  • 0
    Вы хотите, чтобы пользователь вообще не мог прокручивать в родительском окне, если список опций не находится внизу?
  • 2
    любой код, скрипка или изображение? Потому что мне трудно понять вашу проблему и желаемое поведение
Показать ещё 5 комментариев
Теги:

1 ответ

1

Единственный способ добиться того, что вы хотите, - использовать javascript. Логика довольно проста: при hover вы можете добавить overflow: hidden; к телу, затем по блоку select элемента вы удаляете значение overflow.

Код будет выглядеть примерно так (дайте поле выбора id из selectbox):

document.getElementById('selectbox').onmouseenter = function(){
    document.body.style.overflow = 'hidden';
};

document.getElementById('selectbox').onmouseout = function(){
    document.body.style.overflow = 'auto';
};

demo: http://jsfiddle.net/LRCKn/6/ - вам просто нужно заставить его применить изменение css на элементах параметров.

  • 0
    Я не думаю, что выбор тега вызывает переполнение на странице
  • 0
    Проблема заключается в том, что с элементом select, если вы быстро прокручиваете вниз, он также прокручивает страницу вниз, как только вы дойдете до конца. он хочет остановить это, поэтому вам нужно запретить странице иметь полосы прокрутки, когда в элементе выбора
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню