Mobile touch slider and framework with hardware accelerated transitions
Pull request Compare This branch is 629 commits behind nolimits4web:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

Swiper - Mobile touch slider with hardware accelerated transitions


Swiper - is the free and ultra lightweight mobile touch slider with hardware accelerated transitions (where supported) and amazing native behavior. It is intended to use in mobile websites, mobile web apps, and mobile native apps. Designed mostly for iOS, but also works on Android and latest Desktop browsers. Swiper is created by

Change Log

Swiper 1.9 - Updated on March 16, 2013

  • Added support for devices that can use both mouse and touch "pointers" at the same time, like many of Windows 8 tablets and notebooks
  • New API features:
    • New feature to set "group sliding" with slidesPerGroup parameter
    • Now you can hardcode resize event (for example "resize" instead of "orientationchange" for mobiles) with resizeEvent parameter
  • Fixes:
    • Fixed situation when slider can get stuck between slides when tapped during transition
    • Now clickedSlide will return correct slide in loop mode
  • Minor fixes

Swiper 1.8.8 - Updated on March 4, 2013

  • Improved cursors usablity with autmatic grab cursors for container and drag cursor for scrollbar
  • Improved mousewheel control for scroll container/free mode to have more native scrolling behavior
  • Snap functionality for scrollbar
  • Scrollbar plugin updated to version 1.2
  • Minor fixes

Swiper 1.8.7 - Updated on February 22, 2013

  • Fixed initialSlide/resize issue
  • New ability to use slides with fixed width in fluid container with a slidesPerSlide:'auto'
  • Pagination switch that appropriate to active slide index has additional "swiper-activeslide-switch"
  • Other minor fixes

Swiper 1.8.5 - Updated on February 5, 2013

  • New API features:
    • New keyboard arrows navigation with "keyboardControl" option
    • New mousewheel navigation with "mousewheelControl" option
  • Now it is possible to pass HTMLElement on initialization, not only css selector like before
  • Updated 3D Flow
  • Updated Scrollbar
  • Fixed small Android and IE8 bugs
  • Improved "scrollContainer" to be more responsive
  • Other minor core fixes

Swiper 1.8 - Updated on January 18, 2013

  • New huge and awesome Slides API
  • New API features:
    • New initialization option "initialSlide"
    • New methods: ".reInit()", ".currentSlide()", ".clickedSlide"
    • New callbacks: "onSlideClick" and "onSlideTouch"
  • Update 3D Flow plugin to work with new features
  • Lot of minor and few major core fixes

Swiper 1.7 - Updated on December 19, 2012

  • New API features
  • Scroll Container Improvements
  • Reworked internal plugins API
  • Windows Phone 8 Support
  • Minor fixes

Swiper 1.6 - Updated on December 11, 2012

  • New Scroll Container mode to use like simple scrollable area!
  • New API features
  • Highly improved nested behavior to create multi dimensional apps
  • Fixed auto play in loop mode
  • Fixed initialization "delay" in loop mode
  • New internal plugins API (beta). It allows to create own Swiper plugins
  • Improved Internet Explorer 8 support
  • Minor fixes

Swiper 1.5.5 - Updated on October 20, 2012

  • Internet Explorer 8 support (without animation)
  • FireFox below 11 support

Swiper 1.5 - Updated on October 6, 2012

  • A lot of major and minor fixes, core optimization
  • Now it works in Internet Explorer 9 (without animation) and Internet Explorer 10
  • Improved perfomance
  • New "loop" mode with infinite scroll (see demo below)
  • New carousel mode, now you can show few slides per slider container (see demo below)
  • New "smart" pagination, looks fun with loop and carousel modes
  • Now Swipers can be easily nested one into another (see demo below)
  • Added ability to disable automatic slider resize on windows resize
  • Updated CSS

Swiper 1.3 - Updated on April 15, 2012

  • External functions swipeNext, swipePrev, swipeTo now return true or false.
  • .previousSlide property returns the index of previously displayed slide
  • Added onSlideInitialize callback

Swiper 1.3 - Updated on April 2, 2012

  • Added onSlideChangeStart callback
  • Added onSlideReset callback
  • onSlideChange is renamed to onSlideChangeEnd
  • Now .swipeTo() method accepts 3 parameters - index (number), speed (number) and runCallbacks (boolean)
  • Now .swipeTo() method will produce 'onSlideChangeStart' and 'onSlideChangeEnd' callback functions (if "runCallbacks" is not equal to "false")
  • New mySwiper.destroy() method to release all events assigned by Swiper
  • Fixed serious bug when using fluid (responsive) Swiper to re-calculate slides' position on window resize

Swiper 1.2 - Updated on March 31, 2012

  • Improved mouse events to get the same behaviour as on touch devices

Swiper 1.1 - Updated on March 18, 2012

  • Added autoPlay parameter to enable auto play
  • mySwiper.startAutoPlay() - external function to start auto play
  • mySwiper.startAutoPlay() - external function to stop auto play
  • Optimized for usage as a fallback for upcoming " S6" 3D slider
  • Added small plugin to use Swiper with Zepto.js

Swiper 1.0 - Initial release on March 15, 2012


  • 1:1 Touch movement. But this ratio can be configured

  • Touch emulation. This function will be useful if you are going to use Swiper on desktop sites. In this case Swiper will accept mouse events like touch events (click and drag to change slides)

  • Vertical/Horizontal. Swiper comes with 2 main modes - horizontal (for horizontal animation and horizontal swipes) and vertical (for vertical animation and vertical swipes)

  • Free Mode. When this mode enabled slides will not have fixed positions, like usual scroller (see demos bellow)

  • Rotation/resize adjustment. Swiper will be reinitialized after rotation of device

  • Responsive. Can be used with a width or/and height defined in percents, not fixed. Useful for usage on devices with a different resolutions

  • Scroll prevention. Swiper will prevent vertical scroll when you touch it in "horizontal" mode, and horizontal scroll in "vertical" mode

  • Resistant bounds. Swiper will increase resistance when you try to swipe it over than most left and most right positions (most top and most bottom for "vertical" mode)

  • Built-in pagination control. Can be disabled

  • Auto Play. Just set the delay and Swiper will change the slides automatically untill you touch it.

  • Loop mode. In this mode you will get infinite scrolling and first slides will repeat after last ones. New in 1.5

  • Carousel mode. Swiper allows you to set numbers of slides you want to display at the same time on slider's container. New in 1.5

  • Nested Swipers. You can insert one Swiper into slide of different Swiper, for example vertical into horizontal. New in 1.5

  • Any HTML. You can put any HTML content inside of slide, not only images

  • Rich API. Swiper comes with very rich API. It allows to create your own pagination, "next" and "previous" buttons and comes with 4 callbacks - onTouchStart, onTouchMove, onTouchEnd, onSlideSwitch

  • Flexible configuration. Swiper accepts a lot of parameters on initialization to make it much flexible as possible. You can configure animation speed, mode (vertical or horizontal), free mode, enable/disable pagination, touch ratio, etc.

  • Hardware accelerated. Swiper uses hardware accelerated technics (where supported) to achive ultra smooth animation and perfomance, especially on iOS devices.

  • Awesome compatibility. Swiper compatible and tested with: Mobile Safari (tested on iOS5), Android 2.1+, latest desktop versions of Google Chrome, Safari, Firefox, Internet Explorer 10 and Opera. It also works in Internet Explorer 9 but without animation.

  • Standalone. Swiper doesn't require any JavaScript libraries like jQuery, it makes Swiper much more smaller and faster. So it can be safely used with such libraries as jQuery, jQuery Mobile, jQTouch, etc.

  • Ultra lightweight. Only 3.2 KB minified and gzipped

With all these features you can build amazing touch interfaces and apps with awesome native behavior.

Demos & Usage


Swiper is licensed under GPL & MIT