Search code examples
javascriptjquerysliderflickity

Flickity carousel as navigation for another


So, I'm using this https://codepen.io/desandro/pen/wByaqj

And I activated the prevNextButtons: true, like this:

$('.characters-main').flickity({
      prevNextButtons: false,
      wrapAround: false,
      pageDots: false,
      autoPlay: 10000
    });
    $('.characters-nav').flickity({
      asNavFor: '.characters-main',
      cellAlign: 'right',
      prevNextButtons: true,
      contain: true,
      pageDots: false,
      arrowShape: {
        x0: 10,
        x1: 70, y1: 50,
        x2: 70, y2: 50,
        x3: 35
      }
    });

I want that, when I click on the prevNextButtons for .characters-nav to automatically select the element from .characters-main.

This is how it works now:

enter image description here


Solution

  • I have taken Your Example over here and I have added the following code:

     // Main div
        var flkty = new Flickity('.carousel-main');
    
       // Next and previous events of the navigation div
        $(".carousel-nav .next").on("click", function() {
              // Changing items of the main div
               flkty.next();
        });
    
    
    
     $(".carousel-nav .previous").on("click", function() {
              // Changing items of the main div
              flkty.previous();
        });
    

    In Your Case it should be like this:

             // Your main div is characters-main
            var flkty = new Flickity('.characters-main');
    
           // Next and previous events of the characters-nav
            $(".characters-nav .next").on("click", function() {
                  // Changing items of the main div
                   flkty.next();
            });
    
    
    
         $(".characters-nav .previous").on("click", function() {
                  // Changing items of the main div
                  flkty.previous();
            });