Tiny jQuery Image Slider / Slideshow With Caption Support
File Size: | 18 KB |
---|---|
Views Total: | 4534 |
Last Update: | |
Publish Date: | |
Official Website: | Go to website |
License: | MIT |
Yet another jQuery based image carousel component that features autoplay, image captions, configurable animation speed and crossfade transition effects.
How to use it:
1. Add your own images together with descriptions and navigation arrows to the slider.
<div id="slider-container"> <img src="img/left-arrow.png" id="prev"> <ul id="slider"> <li class="slide"> <div class="slide-copy"> <h2>Slide One</h2> <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Donec odio. Quisque volutpat mattis eros. Nullam malesuada erat ut turpis. Suspendisse urna nibh, viverra non, semper suscipit, posuere a, pede.</p> </div> <img src="img/1.jpg" alt=""> </li> <li class="slide"> <div class="slide-copy"> <h2>Slide Two</h2> <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Donec odio. Quisque volutpat mattis eros. Nullam malesuada erat ut turpis. Suspendisse urna nibh, viverra non, semper suscipit, posuere a, pede.</p> </div> <img src="img/2.jpg" alt=""> </li> <li class="slide"> <div class="slide-copy"> <h2>Slide Three</h2> <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Donec odio. Quisque volutpat mattis eros. Nullam malesuada erat ut turpis. Suspendisse urna nibh, viverra non, semper suscipit, posuere a, pede.</p> </div> <img src="img/3.jpg" alt=""> </li> </ul> <img src="img/right-arrow.png" id="next"> </div>
2. Style the slider using your own CSS as follows:
#slider-container { height: 600px; margin: 0 auto; max-width: 100%; overflow: hidden; position: relative; width: 800px; } #sldier { height: 100%; width: 100%; } #slider .slide img { height: 100%; width: auto; } #prev, #next { cursor: pointer; max-width: 60px; opacity: 0; position: absolute; top: 45%; -webkit-transition: opacity 0.2s linear; -moz-transition: opacity 0.2s linear; -o-transition: opacity 0.2s linear; transition: opacity 0.2s linear; z-index: 999; } #prev { left: 0; } #next { right: 0; } #slider-container:hover #prev, #slider-container:hover #next { opacity: .7; } .slide { position: absolute; width: 100%; } .slide-copy { background: #777; background: rgba(0, 0, 0, .5); bottom: 0; color: #fff; left: 0; padding: 20px; position: absolute; }
3. Put the needed jQuery library at the end of the html document.
<script src="//code.jquery.com/jquery.min.js"></script>
4. The core JavaScript.
$(document).ready(function() { var options = { speed: 500, autoswitch: true, autoswitch_speed: 4500 } // Add active class to the first slide $('.slide').first().addClass('active'); // Hide all slides $('.slide').hide(); // Show active slide $('.active').show(); // Click event on #next $('#next').on('click', nextSlide); // Click event on #prev $('#prev').on('click', prevSlide); // Auto slider if (options.autoswitch === true) { setInterval(nextSlide, options.autoswitch_speed); } function nextSlide() { $('.active').removeClass('active').addClass('prevActive'); // remove active class and add prevActive class if ($('.prevActive').is(':last-child')) { // if last slide, add active class to the first slide $('.slide').first().addClass('active'); } else { // else, add active class to next slide $('.prevActive').next().addClass('active'); } $('.prevActive').removeClass('prevActive'); // remove prevActive class after active class is added $('.slide').fadeOut(options.speed); // fade out the current slide $('.active').fadeIn(options.speed); // fade in the new slide } function prevSlide() { $('.active').removeClass('active').addClass('prevActive'); // remove active class and add prevActive class if ($('.prevActive').is(':first-child')) { // if last slide, add active class to the first slide $('.slide').last().addClass('active'); } else { // else, add active class to next slide $('.prevActive').prev().addClass('active'); } $('.prevActive').removeClass('prevActive'); // remove prevActive class after active class is added $('.slide').fadeOut(options.speed); // fade out the current slide $('.active').fadeIn(options.speed); // fade in the new slide } });
This awesome jQuery plugin is developed by chengjzhao. For more Advanced Usages, please check the demo page or visit the official website.