Горизонтальная прокрутка div не будет прокручиваться с помощью колеса мыши ⇐ Jquery
-
Anonymous
Горизонтальная прокрутка div не будет прокручиваться с помощью колеса мыши
У меня есть элемент div с горизонтальной прокруткой, по которому легко перемещаться с помощью трекпада Mac, но перемещаться с помощью мыши — кошмар. Пользователю приходится щелкать и перетаскивать полосу прокрутки внизу страницы, чтобы прокручивать контент.
Я пробовал реализовать в своем коде множество решений из этого поста, но пока ни одно из них не заработало.
Вот ссылка на jsfiddle, использующий одно из решений javascript. Легко прокручивать по горизонтали с помощью трекпада, но по-прежнему невозможно прокручивать по горизонтали с помощью колесика мыши.
Мне нужно убедиться, что решение не испортит возможности прокрутки трекпада, а просто позволит прокручивать его с помощью колесика мыши. Например, я вижу, что если пользователь просто удерживает кнопку Shift, он может совершенно нормально прокручивать колесо мыши ИЛИ трекпад. Может быть, обходной путь — просто написать код, который заставляет клавишу Shift нажиматься все время, пока пользователь находится на странице? Звучит как тупой обходной путь, лол. Лучше просто использовать работающий JavaScript.
Вот код, который я пытаюсь использовать -
constContainer = document.getElementById("horizontalstorecontainer"); // где «контейнер» — идентификатор контейнера Container.addEventListener("колесо", function (e) { если (e.deltaY > 0) { контейнер.scrollLeft += 100; е.preventDefault(); // prevenDefault() поможет избежать беспокойства // включение вертикальной прокрутки } еще { контейнер.scrollLeft -= 100; е.preventDefault(); } }); // Это будет работать отлично Обратите внимание, что я удалил изображения и тому подобное для упрощения, поскольку они никак не связаны с этим вопросом. И я не ищу решение CSS. Спасибо!
РЕДАКТИРОВАТЬ: следует отметить еще кое-что: пользователь никогда не будет прокручивать вертикально ни на одной из веб-страниц. Может быть, это еще больше упрощает решение?
У меня есть элемент div с горизонтальной прокруткой, по которому легко перемещаться с помощью трекпада Mac, но перемещаться с помощью мыши — кошмар. Пользователю приходится щелкать и перетаскивать полосу прокрутки внизу страницы, чтобы прокручивать контент.
Я пробовал реализовать в своем коде множество решений из этого поста, но пока ни одно из них не заработало.
Вот ссылка на jsfiddle, использующий одно из решений javascript. Легко прокручивать по горизонтали с помощью трекпада, но по-прежнему невозможно прокручивать по горизонтали с помощью колесика мыши.
Мне нужно убедиться, что решение не испортит возможности прокрутки трекпада, а просто позволит прокручивать его с помощью колесика мыши. Например, я вижу, что если пользователь просто удерживает кнопку Shift, он может совершенно нормально прокручивать колесо мыши ИЛИ трекпад. Может быть, обходной путь — просто написать код, который заставляет клавишу Shift нажиматься все время, пока пользователь находится на странице? Звучит как тупой обходной путь, лол. Лучше просто использовать работающий JavaScript.
Вот код, который я пытаюсь использовать -
constContainer = document.getElementById("horizontalstorecontainer"); // где «контейнер» — идентификатор контейнера Container.addEventListener("колесо", function (e) { если (e.deltaY > 0) { контейнер.scrollLeft += 100; е.preventDefault(); // prevenDefault() поможет избежать беспокойства // включение вертикальной прокрутки } еще { контейнер.scrollLeft -= 100; е.preventDefault(); } }); // Это будет работать отлично Обратите внимание, что я удалил изображения и тому подобное для упрощения, поскольку они никак не связаны с этим вопросом. И я не ищу решение CSS. Спасибо!
РЕДАКТИРОВАТЬ: следует отметить еще кое-что: пользователь никогда не будет прокручивать вертикально ни на одной из веб-страниц. Может быть, это еще больше упрощает решение?
Мобильная версия