Проблема на Macbook c trackpad
Добрый день!
Написал скрипт слайдера, который состоит из двух блоков - слева и справа, и при скроле листает эти блоки в разные стороны. Но есть проблема, на маке когда листаю с трекпада, бывают перескакивание между слайдами, я так понял, трекпад очень чувствительный и надо это как-то пофиксить. Флаг стоит, тайминг смены слайдеров стоит, но косяк такой есть ( Помогите решить проблему, пожалуйста var frameHeight = $(window).height(); var slider = $('.about-info__left'); var sliderContainer = $('.col-left-int'); var sliderItem = $('.about-info__item'); var sliderLeftContainer = $('.about-info__left-container'); var sliderRightContainer = $('.about-info__right-container'); var numberOfFrames = 3; var currentFrame = 0; var positionRight = numberOfFrames * frameHeight; var loading = false; var os = 'notOSX'; var mac = navigator.platform.match(/(Mac|iPhone|iPod|iPad)/i) ? true : false; if (mac) { var sleep_slide = 2400; //время ожидания между слайдами } else { var sleep_slide = 1000; //время ожидания между слайдами } // Устанавливаем высоту контейнеру и слайдам slider.height(frameHeight); sliderItem.height(frameHeight); // Устанавливаем отрицательное значение для правого контейнера sliderRightContainer.css('top',-positionRight); sliderLeftContainer.css('top','0'); slider.mousewheel(function(event) { event.preventDefault(); var delta = event.deltaY; console.log(delta); if(!loading) { loading = true; console.log(loading); if (delta < 0) { // scrollDown if (currentFrame < numberOfFrames) { ++currentFrame; $.fn.fullpage.setMouseWheelScrolling(false); $.fn.fullpage.setAllowScrolling(false); // Определяем текущее значение смещения слайда var mathScroll = currentFrame*frameHeight; console.log(mathScroll); sliderLeftContainer.css('top',-mathScroll); // Получаем текущее значение TOP правого контейнера изменяем и возвращаем sliderRightContainer.offset(function(i,val){ return {top:val.top + frameHeight, left:val.left}; }); } else { $.fn.fullpage.setMouseWheelScrolling(true); $.fn.fullpage.setAllowScrolling(true); } } else { // scrollUp if (currentFrame > 0) { --currentFrame; var mathScroll = currentFrame*frameHeight; console.log(mathScroll); sliderLeftContainer.css('top',-mathScroll); // Получаем текущее значение TOP правого контейнера изменяем и возвращаем sliderRightContainer.offset(function(i,val){ return {top:val.top - frameHeight, left:val.left}; }); } else { $.fn.fullpage.setMouseWheelScrolling(true); $.fn.fullpage.setAllowScrolling(true); } } var timerId = setTimeout(function() { loading = false; console.log(loading); clearTimeout(timerId); }, sleep_slide); } }); |
Часовой пояс GMT +3, время: 19:26. |