Call another function, hammerjs

31 Views Asked by At

I want to trigger the function (leftBtn) below if you swipe the carousel:

const leftBtn = $('.carousel-controls .left-btn');

//  Left Click
$(leftBtn).on('click', function(){
    if($('.ps-home .my-rewards .inner .carousel .carousel-inner .card:last').hasClass('next')){
        $('.pagination #dot_two').removeClass('active').next().addClass('active');
        $('.ps-home .my-rewards .inner .carousel .carousel-inner').find('.prev:first-child').removeClass('next active active-active prev').addClass('next');
        $('.ps-home .my-rewards .inner .carousel .carousel-inner .card:last').removeClass('next').addClass('active-active')
        .prev().removeClass('active-active').addClass('active')
        .prev().removeClass('active').addClass('prev');                
    }
    else if($('.ps-home .my-rewards .inner .carousel .carousel-inner .card:last').hasClass('active-active')){
        $('.pagination #dot_three').removeClass('active').next().addClass('active');
        $('.ps-home .my-rewards .inner .carousel .carousel-inner').find('.next:first-child').removeClass('next active active-active prev').addClass('next');
        $('.ps-home .my-rewards .inner .carousel .carousel-inner .card:last').removeClass('active-active').addClass('active')
        .prev().removeClass('active').addClass('prev')
        .prev().removeClass('prev').addClass('next')
        .prev().removeClass('next').addClass('active-active');                
    }
    else if($('.ps-home .my-rewards .inner .carousel .carousel-inner .card:last').hasClass('active')){
        $('.pagination #dot_four').removeClass('active').prev().prev().prev().addClass('active');
        $('.ps-home .my-rewards .inner .carousel .carousel-inner').find('.active-active:first-child').removeClass('active active-active next prev').addClass('active');
        $('.ps-home .my-rewards .inner .carousel .carousel-inner .card:last').removeClass('active').addClass('prev')
        .prev().removeClass('prev').addClass('next')
        .prev().removeClass('next').addClass('active-active')
    }
    else if ($('.ps-home .my-rewards .inner .carousel .carousel-inner .card:last').hasClass('prev')){
        $('.pagination #dot_one').removeClass('active').next().addClass('active');
        $('.ps-home .my-rewards .inner .carousel .carousel-inner').find('.active:first-child').removeClass('active active-active next prev').addClass('prev');
        $('.ps-home .my-rewards .inner .carousel .carousel-inner .card:last').removeClass('prev').addClass('next')
        .prev().removeClass('next').addClass('active-active')
        .prev().removeClass('active-active').addClass('active')
    }
});

Here is the swipe function:

$('.ps-home .my-rewards .inner .carousel .carousel-inner').hammer().on('swipeleft', function(leftBtn){
    console.log(leftBtn)
})

I'm using hammer.js

Is there a way to trigger the left button click when I swipe?

Thanks in advance

0

There are 0 best solutions below