Simple Automatic Image Rotator Plugin with jQuery
| File Size: | 3.42 KB |
|---|---|
| Views Total: | 2543 |
| Last Update: | |
| Publish Date: | |
| Official Website: | Go to website |
| License: | MIT |
A simple, lightweight jQuery image rotator/gallery plugin that features auto-rotation and vertical thumbnail navigation bar.
How to use it:
1. Create an image rotator following the Html structure like so:
<div id="image-rotator">
<ul class="tabs">
<li>Thumb 1</li>
<li>Thumb 2</li>
<li>Thumb 3</li>
<li>Thumb 4</li>
<li>Thumb 5</li>
</ul>
<div class="container">
<img src="1.jpg">
</div>
<div class="container">
<img src="2.jpg">
</div>
<div class="container">
<img src="3.jpg">
</div>
<div class="container">
<img src="4.jpg">
</div>
<div class="container">
<img src="5.jpg">
</div>
</div>
2. The core CSS styles for the image rotator.
#image-rotator {
width: 518px;
padding: 18px 120px 10px 21px;
position: relative;
height: 434px;
background: #fff;
margin-bottom: 35px;
margin: 35px auto;
}
#image-rotator ul.tabs {
position: absolute;
top: 18px;
left: 538px;
padding: 0;
margin: 0;
}
#image-rotator ul.tabs li {
font-size: 10px;
color: #666;
line-height: 10px;
height: 75px;
color: #333;
overflow: hidden;
width: 96px;
background: #fff;
margin-bottom: 11px;
position: relative;
}
#image-rotator ul.tabs li a.title {
position: absolute;
z-index: 5;
color: #fff;
font-family: arial;
bottom: 7px;
width: 96px;
text-align: center;
text-shadow: 1px -1px 0 #000;
text-decoration: none;
}
#image-rotator ul.tabs li img {
width: 96px;
height: 75px;
opacity: 0.5;
z-index: 3;
}
#image-rotator ul.tabs li.current img,
#image-rotator ul.tabs li img:hover { opacity: 1.0; }
#image-rotator div.container img {
height: 420px;
width: 500px;
position: absolute;
}
#image-rotator div.container {
position: relative;
z-index: 0;
}
#image-rotator div.container.previous { z-index: 1; }
#image-rotator div.container.current { z-index: 2; }
#image-rotator h2 {
font-size: 40px;
font-family: Arial;
color: #fff;
padding: 5px 5px 5px 12px;
margin: 0;
overflow: hidden;
line-height: 65px;
text-transform: uppercase;
height: 50px;
overflow: hidden;
position: absolute;
top: 350px;
text-shadow: 1px -1px 0 #000;
text-align: center;
letter-spacing: -1px;
width: 475px;
}
3. Load the latest version of jQuery library at the bottom of the web page.
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
4. The jQuery script to enable the image rotator.
$(document).ready(function(){
$('.container').each(function(e){
if(e == 0){
$(this).addClass('current');
}
$(this).attr('id', 'handle' + e);
})
$('.tabs li').each(function(e){
if(e == 0){
$(this).addClass('current'); //adds class current to 1st li
}
$(this).wrapInner('<a class="title"></a>'); //wraps list items in anchor tag
$(this).append('<a><img /></a>'); //creates img tag
$(this).children('a').attr('href', '#handle' + e);//adds href to the anchors
y = $('#handle' + e + ' img').attr('src'); //grabs src from large pix
$(this).find('img').attr('src', y); //appends src to small pix
t = $(this).children('a').text();
$('#handle' + e).append('<h2>' + t + '</h2>'); //adds h2 and text to big images
})
$('.tabs li a').click(function(){
c = $(this).attr('href');
if($(c).hasClass('current')){
return false;
}else{
showImage($(c), 20);
$('.tabs li').removeClass('current');
$(this).parent().addClass('current');
return false;
}
})
runRotateImages();
$("#image-rotator").hover(
function(){
clearTimeout(xx);
},
function(){
runRotateImages();
}
)
})
function showImage(img, duration){
$('.container').removeClass('current').css({
"opacity" : 0.0,
"zIndex" : 2
});
img.animate({opacity:1.0}, duration, function(){
$(this).addClass('current').css({zIndex:1});
});
}
function rotateImages(){
var curPhoto = $("div.current");
var nxtPhoto = curPhoto.next();
var curTab = $(".tabs li.current");
var nxtTab = curTab.next();
if (nxtPhoto.length == 0) {
nxtPhoto = $('#image-rotator div:first');
nxtTab = $('.tabs li:first-child');
}
curTab.removeClass('current');
nxtTab.addClass('current');
showImage(nxtPhoto, 300);
}
function runRotateImages(){
xx = setInterval("rotateImages()", 4000);
}
This awesome jQuery plugin is developed by fearlessflyer. For more Advanced Usages, please check the demo page or visit the official website.











