Необходимо отключить прокрутку слайдов pagePiling.js при наведении на div
Пробовал отключать с помощью скрипта прокрутку полностью, но это ничего не меняет. Слайды как листались, так и листаются:
</script>
<script type="text/javascript">
$('.wrapper').on('mouseenter', function () {
$('html,body').on('mousewheel', function (e) {
e.preventDefault();
});
$('.wrapper').on('mousewheel', function (e) {
var step = 15;
var direction = e.originalEvent.deltaY > 0 ? 1 : -1;
$(this).scrollTop($(this).scrollTop() + step * direction);
console.log(e);
});
});
$('.wrapper').on('mouseleave', function () {});
</script>
Затем пробовал искать по-другому, конкретно связать поиск решения с плагином pagePiling.js. В принципе, нашёл как отключить — всего-то в момент наведения на div .wrapper заставить значение setAllowScrolling поменяться на False:
$.fn.pagepiling.setMouseWheelScrolling(false);
В процессе танцев бубнов до меня дошло, что я перестал понимать расклад вещей. Мне это значение перманентно менять в файле pagePiling.js не надо, я же хочу чтобы слайды перелистывались, но только когда курсор мыши находится вне .wrapper. Может стоит объединить эти два решения? Куда тогда в скрипт втыкать часть со сменой значения на false, и как вообще это сделать? Помогите.
Могу залить на гитхаб пэйджс, если потребуется для наглядности
Ответы (1 шт):
Всё же, наверное, правильно будет $.fn.pagepiling.setAllowScrolling(false);, а не $.fn.pagepiling.setMouseWheelScrolling(false);. В любом случае из вышеизложенной проблемы могу предположить, что $.fn.pagepiling.setAllowScrolling(false); (или(и) $.fn.pagepiling.setMouseWheelScrolling(false);) является рабочим решением. Тогда необходимо:
$('.wrapper').on('mouseover', function() {//именно событие mouseover срабатывает при наведении на элемент
console.log('Наводим на блок .wrapper и отключаем прокрутку слайдов');
//$.fn.pagepiling.setAllowScrolling(false);
});
$('.wrapper').on('mouseout', function() {//а событие mouseout наоборот - срабатывает, когда мы уводим курсор мыши с элемента
console.log('Уводим курсор с блока .wrapper и включаем прокрутку слайдов');
//$.fn.pagepiling.setAllowScrolling(true);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="wrapper">
Навести на блок
</div>