JSFiddle - React, Tailwind, and code Playground
HTML
<div id="slideshow">
<div id="slideshowWindow">
<div class="slide">
<img src="http://dsphotographic.com/blog/wp-content/uploads/2011/08/plitvice-lakes-01.jpg" />
</div>
<div class="slide">
<img src="http://www.michaelliebert.com/files/nature/michael-liebert-fall-mood.jpg" />
</div>
<div class="slide">
<img src="http://dentsuplus.com/assets/images/works/screen1.jpg" />
</div>
</div>
</div>
CSS
#slideshow #slideshowWindow {
margin:0;
padding:0;
width: 1200px;
position:relative;
overflow:hidden;
}
nav {
display:block;
position:absolute;
cursor:pointer;
}
#leftNav {
top:180px;
left:40px;
width:48px;
height:80px;
background: url(http://www.noitebrancamg.com.br/wp/wp-content/themes/NoiteBranca2012/images/arrow-left.png) no-repeat;
z-index:999;
}
#rightNav {
top:180px;
right:40px;
width:48px;
height:80px;
background: url(http://www.noitebrancamg.com.br/wp/wp-content/themes/NoiteBranca2012/images/arrow-right.png) no-repeat;
z-index:999;
}
#slideshow #slideshowWindow .slide {
margin:0;
padding:0;
height:
float:left;
position:relative;
}
JavaScript
jQuery(document).ready(function ($) {
var currentPosition = 0;
var slideWidth = 1200;
var slides = $('.slide');
var numberOfSlides = slides.length;
var slideShowInterval;
var speed = 7000;
slideShowInterval = setInterval(changePosition, speed);
slides.wrapAll('<div id="slidesHolder"></div>')
slides.css({ 'float' : 'left' });
$('#slidesHolder').css('width', slideWidth * numberOfSlides);
$('#slideshow')
.append('<span class="nav" id="leftNav"></span>')
.append('<span class="nav" id="rightNav"></span>');
manageNav(currentPosition);
$('.nav').bind('click', function() {
currentPosition = ($(this).attr('id')=='rightNav')
? currentPosition+1 : currentPosition-1;
manageNav(currentPosition);
clearInterval(slideShowInterval);
slideShowInterval = setInterval(changePosition, speed);
moveSlide();
});
function manageNav(position) {
$('#leftNav').css('position','absolute')
$('#rightNav').css('position','absolute')
}
function changePosition() {
if(currentPosition == numberOfSlides - 1) {
currentPosition = 0;
manageNav(currentPosition);
} else {
currentPosition++;
manageNav(currentPosition);
}
moveSlide();
}
function moveSlide() {
$('#slidesHolder')
.animate({'marginLeft' : slideWidth*(-currentPosition)});
}
});