Skip to content


Repository files navigation

/!\ This project is currently unmaintained

If you're interested in maintaining this project and triaging bugs chime in on this issue.


Superslides is a full screen, hardware accelerated slider for jQuery. I wasn't happy with the state of full screen sliders, so naturally I built my own.


Check out the demo for an interactive example or the examples folder for individual cases. Use like your standard jQuery plugin:



Option Default Description
play 0 [number] Milliseconds before progressing to next slide automatically. Use a falsey value to disable.
animation 'slide' [string] slide or fade. This matches animations defined by fx engine.
animation_speed 'normal' [string] Animation speed.
animation_easing 'linear' [string] Animation easing.
inherit_width_from window [object] or [string] Accepts window or element selector. Use to constrain slider to an element's width.
inherit_height_from window [object] or [string] Accepts window or element selector. Use to constrain slider to an element's height.
pagination true [boolean] Generate pagination. Add an id to your slide to use custom pagination on that slide.
hashchange false [boolean] Enable hashchange support in url.
elements (see Elements below) [object] A hash of element classes used in generated html.


The following are element classes accessible under the elements object.

preserve '.preserve' [string] Add this class to images in your content that you don't want to be resized like the background images.
nav '.slides-navigation' [string] Class surrounding next/previous buttons.
container '.slides-container' [string] Container class that must be present with original markup.
pagination '.slides-pagination' [string] Pagination class added to pagination container.


Superslides triggers a few events that you can bind to.

animating.slides // Before slide animation begins
animated.slides  // After slide animation ends


$('#slides').superslides('animate' [, index|'next'|'prev'])
$('#slides').superslides('current') // get current slide index
$('#slides').superslides('next')    // get next slide index
$('#slides').superslides('prev')    // get previous slide index

If adding slides after initialization (a la ajax), be sure to call update.


All styling required for functionality is handled in the JavaScript. Additional and optional styling is provided in dist/stylesheets/superslides.css


Markup is pretty straightforward. At minimum it looks something like this:

<div id="slides">
  <div class="slides-container">
    <img src="" alt="">
    <img src="" alt="">

You could even use a UL as the slides-container

<div id="slides">
  <ul class="slides-container">
      <img src="" alt="">
      <div class="container">
        Slide one
      <img src="" alt="">
      <div class="container">
        Slide two
      <img src="" alt="">
      <div class="container">
        Slide three
  <nav class="slides-navigation">
    <a href="#" class="next">Next</a>
    <a href="#" class="prev">Previous</a>

Custom Animations

I realize that you might want to do something unique in your application. That's why I've added the ability to extend the existing animations with your own. See examples/custom-fx.html.

$.fn.superslides.fx = $.extend({
  flip: function(orientation, complete) {
}, $.fn.superslides.fx);

Hardware Acceleration

Superslides is compatible with the jQuery Animate Enhanced plugin. Simply include it before this plugin and it will automatically smooth out transitions using CSS instead of JavaScript.