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, время: 03:38. |