JavaScripting

The definitive source of the best
JavaScript libraries, frameworks, and plugins.


  • ×

    :leaves: Touch, responsive, flickable carousels
    Filed under  › 

    • 🔾72%Overall
    • 7,485
    • 21.5 days
    • 🕩606
    • 👥8

    Flickity

    Touch, responsive, flickable carousels

    See flickity.metafizzy.co for complete docs and demos.

    Install

    Download

    CDN

    Link directly to Flickity files on unpkg.

    <link rel="stylesheet" href="https://unpkg.com/flickity@2/dist/flickity.min.css">
    
    <script src="https://unpkg.com/flickity@2/dist/flickity.pkgd.min.js"></script>
    

    Package managers

    Bower: bower install flickity --save

    npm: npm install flickity --save

    License

    Commercial license

    If you want to use Flickity to develop commercial sites, themes, projects, and applications, the Commercial license is the appropriate license. With this option, your source code is kept proprietary. Purchase a Flickity Commercial License at flickity.metafizzy.co

    Open source license

    If you are creating an open source application under a license compatible with the GNU GPL license v3, you may use Flickity under the terms of the GPLv3.

    Read more about Flickity's license.

    Usage

    Flickity works with a container element and a set of child cell elements

    <div class="carousel">
      <div class="carousel-cell">...</div>
      <div class="carousel-cell">...</div>
      <div class="carousel-cell">...</div>
      ...
    </div>
    

    Options

    var flky = new Flickity( '.gallery', {
      // options, defaults listed
    
      accessibility: true,
      // enable keyboard navigation, pressing left & right keys
    
      adaptiveHeight: false,
      // set carousel height to the selected slide
    
      autoPlay: false,
      // advances to the next cell
      // if true, default is 3 seconds
      // or set time between advances in milliseconds
      // i.e. `autoPlay: 1000` will advance every 1 second
    
      cellAlign: 'center',
      // alignment of cells, 'center', 'left', or 'right'
      // or a decimal 0-1, 0 is beginning (left) of container, 1 is end (right)
    
      cellSelector: undefined,
      // specify selector for cell elements
    
      contain: false,
      // will contain cells to container
      // so no excess scroll at beginning or end
      // has no effect if wrapAround is enabled
    
      draggable: '>1',
      // enables dragging & flicking
      // if at least 2 cells
    
      dragThreshold: 3,
      // number of pixels a user must scroll horizontally to start dragging
      // increase to allow more room for vertical scroll for touch devices
    
      freeScroll: false,
      // enables content to be freely scrolled and flicked
      // without aligning cells
    
      friction: 0.2,
      // smaller number = easier to flick farther
    
      groupCells: false,
      // group cells together in slides
    
      initialIndex: 0,
      // zero-based index of the initial selected cell
    
      lazyLoad: true,
      // enable lazy-loading images
      // set img data-flickity-lazyload="src.jpg"
      // set to number to load images adjacent cells
    
      percentPosition: true,
      // sets positioning in percent values, rather than pixels
      // Enable if items have percent widths
      // Disable if items have pixel widths, like images
    
      prevNextButtons: true,
      // creates and enables buttons to click to previous & next cells
    
      pageDots: true,
      // create and enable page dots
    
      resize: true,
      // listens to window resize events to adjust size & positions
    
      rightToLeft: false,
      // enables right-to-left layout
    
      setGallerySize: true,
      // sets the height of gallery
      // disable if gallery already has height set with CSS
    
      watchCSS: false,
      // watches the content of :after of the element
      // activates if #element:after { content: 'flickity' }
    
      wrapAround: false
      // at end of cells, wraps-around to first for infinite scrolling
    
    });
    

    By Metafizzy 🌈🐻

    Show All