Hammer js - закрыть пролистывание меню вправо - мешает вертикальное пролистывание

Я хочу провести вправо, чтобы закрыть мое меню. Я хочу, чтобы пользователи могли прокручивать мое меню вверх и вниз, учитывая, что это меню может быть длинным на мобильном телефоне.

Однако, если вы проведете пальцем вверх или вниз и немного проведете вправо, меню закроется.

http://codepen.io/ashconnolly/pen/gpBLPp/

$('.menu_toggle').click(function (event) {
    $('.menu').toggleClass('active');
});

new Hammer(document.getElementById('menu')).on("panright", function(ev) {
    $('.menu').removeClass('active');
});

Есть ли простой способ обойти это? Я почти хочу порог, чтобы сделать это очевидным.

Как простой расчет - ЕСЛИ расстояние, пройденное вправо, больше, чем расстояние, пройденное по вертикали = проведите вправо. Надеюсь, вы можете помочь!

1 ответ

Вы можете использовать события смахивания. Hammer JS обеспечивает четкое разделение между пролистыванием вверх / вниз / вправо / влево. Вы можете установить более высокий порог для события вправо, если хотите избежать его при вертикальной прокрутке.

Другие вопросы по тегам