onwheel событие
Добрый день!
Скажите пожалуйста, делаю onwheel слайдер столкнулся с проблемой. Данная строчка постоянно выдает Undefined при отсутствии события скролла: event.deltaY || event.detail || event.wheelDelta; Можно ее как нибудь изолировать что ли? Ведь пользователь иногда скролит а иногда использует клавиши для прокрутки слайдера соответственно сролла в этот момент не происходит и браузер видит Undefined здесь: event.deltaY. Спасибо |
Nlk,
делайте макет, всё что вы написали выше, это для телепатов. |
Цитата:
Цитата:
|
Всю портянку наверно не к чему выкладывать ..
// Проверка произошедшего события - onScroll или keydown function checkKeyOrScroll(event) { if (deltaKey) { // Если deltaKey не пусто значит был keydown deltaScroll = deltaKey; start(deltaScroll); } else { deltaScroll = event.deltaY || event.detail || event.wheelDelta; start(deltaScroll); } } // Запуск следующего слайда function start(deltaScroll) { запуск след слайда.. |
Цитата:
|
рони,
deltaKey - это число генерирующееся после keydown и сообщающее направление скрола |
Nlk, мне сложно совместить onwheel onScroll keydown
deltaKey в одно целое по вашему коду. |
Nlk, типа пример... ;)
var o={}; var deltaScroll = o.deltaY || o.detail || o.wheelDelta; alert(deltaScroll); |
Цитата:
|
ksa,
Цитата:
|
Nlk,
:-? |
Скажите пожалуйста, событие мыши onwheel, вызывает одно событие при скролле? Или в зависимости от браузера такая же неразбериха как с onscroll?
|
Nlk,
:-? вы колёсико на один клик поворачиваите? <!DOCTYPE HTML> <html> <head> <title>Untitled</title> <style type="text/css"> body{ height: 2000px; } .hot{ position: fixed; } </style> </head> <body> <script> document.addEventListener('DOMContentLoaded', function() { document.addEventListener('wheel', function() { document.querySelector('.hot').innerHTML++ ; }) }); </script> <div class="hot">0</div> </body> </html> |
рони,
Оо с примером, огромнейшее спасибо. |
Удалось разрешить изначальную проблему.
let deltaOnwheel = event.deltaY || event.detail || event.wheelDelta; Оказалось обращение к данной переменной все же оставалось и поэтому в отсутствии события оnwheel появлялась ошибка Undefined. А я думал что ошибка появлялась ошибка хотя переменная не использовалась. Вряд ли меня кто поймет, всем спасибо еще раз. |
Цитата:
var o={}; var deltaScroll = o.deltaY || o.detail || o.wheelDelta; if (deltaScroll==undefined) { alert('Undefined.'); } else { alert('Ok.'); }; |
Часовой пояс GMT +3, время: 02:09. |