/FadeShow

A jQuery plugin that generates a simple fading CSS3 slideshow, that maintains the aspect-fill.

Primary LanguageJavaScript

FadeShow - A simple CSS3 slideshow

⚠️ Please note: this project is over 2 years old, and has not been tested with newer versions of jQuery.

It aspect-fills the images, so its perfect for backgrounds. You can set an option to preserve the aspect-fill while resizing.

Enjoy.

Demo

A live demo is available on Github Pages.

Usage

The plugin is really simple, add the jquery.fadeshow-[version].min.js to your project folder and include it.

<script src="src/jquery.fadeshow-0.1.1.min.js" type="text/javascript"></script>

Now add the CSS file and jquery.fadeshow-[version].min.css to your project and include it.

<link rel="stylesheet" href="css/jquery.fadeshow-0.1.1.min.css" />

Place a container for the slideshow anywhere on your page, a div is preferred (it needs a width and height to show).

<div class="slideshow"></div>

Now call the .fadeShow() function on that element, you need to pass an array of image-urls. Do this after the page has finished loading.

$(function(){
  $(".slideshow").fadeShow({
    images: ['/img/one.jpg',
	         '/img/two.jpg',
	         '/img/three.jpg']
  });
});

Options

There are a number of options you can pass to the fadeShow, if you need a preview on how to do that, check the live demo.

Option Name Type Default Description
images Array of strings null All the images you want to display. - REQUIRED
speed Integer 8000 The number of milliseconds to wait for the next slide to appear.
startAtSlide Integer 0 The index of the image to start with.
correctRatio Boolean false If true, the aspect-fill is kept intact while resizing the window. If false, the aspect-fill only works every time a new image appears.
shuffle Boolean false If true, the input will be shuffled, generating a random order every time you refresh.

Underscore.js

If you have implemented Underscore.js on your page, it will automaticly use the debounce function while resizing. This makes it a bit snappier on older devices.

Known issues

You can only change the fade speed / easing in the CSS file, somehow if you change it after the DOM has loaded, the CSS3 animation doesn't work.