Я пытаюсь вызвать функцию, когда мышь прокручивается вниз и одна, когда она прокручивается вверх, но, к сожалению, она швы, как будто они оба вызваны.jquery - событие прокрутки мыши запущено странным образом
http://codepen.io/nickimola/pen/ZWjOyB?editors=1010
В загоне, я использую горизонтальную полосу прокрутки, чтобы изменить слайд на мышь прокрутки вниз (имитирует следующий) и мышь прокрутки вверх (имитирует предыдущий).
Если вы открываете консоль, вы можете видеть, что правильное сообщение напечатано, но, как ни странно, оно шов, когда я прокручиваю вверх, происходит также событие прокрутки вниз. Это немного странно и трудно объяснить, это яснее из пера выше.
вот код, я использую для обнаружения прокрутки:
$(document).ready(function(){
$('html').bind('mousewheel', function(e){
if(e.originalEvent.wheelDelta/120 > 0) {
$.fn.fullpage.moveSlideLeft();
console.log('scrolling up !');
}
else{
$.fn.fullpage.moveSlideRight();
console.log('scrolling down !');
}
});
});
и это плагин я использую для горизонтального слайдера и функция обратного вызова: https://github.com/alvarotrigo/fullPage.js#fullpagejs
У вас есть довольно наивный подход ... это не будет работать вообще с трекпадом, так как ваше событие mousewheel будет «спамероваться» с десятками событий прокрутки (нет «щелчка», как у традиционной мыши) – JDB
Я был на самом деле немного боюсь перекрестной совместимости с касаниями, мышами и трекпадами, если честно ... Как вы это сделаете? есть ли у вас предложение? – Nick
Что означает 'e.originalEvent.wheelDelta/120'? – JDB