javaccripttech - Image Slider
HTML
<div id="slideshow">
<div id="slideshow-wrapper">
<div class="slide" id="slide1"></div>
<div class="slide" id="slide2"></div>
<div class="slide" id="slide3"></div>
<div class="slide" id="slide4"></div>
</div>
<div id="slideshow-nav"> <a href="#slide1">1</a>
<a href="#slide2">2</a>
<a href="#slide3">3</a>
<a href="#slide4">4</a>
<div><span id="slideshow-nav-current">1</span> of <span id="slideshow-nav-total"></span>
</div>
</div>
</div>
CSS
#slideshow {
margin: 2em auto;
width: 70%;
max-width: 40em;
overflow: hidden;
}
#slideshow-wrapper {
width: 1600em;
height: 15em;
position: relative;
}
div.slide {
width: 40em;
height: 15em;
float: left;
background-repeat: no-repeat;
background-size: contain;
}
#slide1 {
background-image: url(http://www.hdwallpapersinn.com/wp-content/uploads/2015/02/Natural-Hd-wallpapers-statspic.jpg);
}
#slide2 {
background-image: url(http://feelgrafix.com/data_images/out/20/930316-desert.jpg);
}
#slide3 {
background-image: url(http://wallpaperswiki.org/wallpapers/2012/10/Nature-Landscape-Wonderful-Natural-Scenery-Desktop-Picture--485x728.jpg);
}
#slide4 {
background-image: url(http://bestpics.in/wp-content/uploads/2014/07/natural_beautiful_green.jpg);
}
#slideshow-nav {
margin: 1em 0;
text-align: center;
}
#slideshow-nav a {
display: inline-block;
width: 1.5em;
height: 1.5em;
line-height: 1.5;
border: 1px solid silver;
color: #333;
text-decoration: none;
margin-right: 0.5em;
}
#slideshow-nav a.active {
background: #000;
color: #fff;
border-color: #000;
}
JavaScript
var SlideshowSlider = {
paginate: function () {
var slides = $('div.slide', '#slideshow'),
total = slides.length;
$('#slideshow-nav-total').text(total);
slides.each(function (i) {
$(this).data('index', i + 1);
});
},
move: function () {
$('a', '#slideshow-nav').click(function (e) {
e.preventDefault();
var $a = $(this);
var aherf = $a.attr('href');
var slide = $("#slideshow-wrapper").find(aherf);
var wrapper = $('#slideshow-wrapper');
wrapper.animate({
left: -slide.position().left
}, 1000, 'linear', function () {
$('#slideshow-nav-current').text(slide.data('index'));
$a.addClass('active').siblings('a').removeClass('active');
});
});
},
init: function () {
this.paginate();
this.move();
}
};
$(function () {
SlideshowSlider.init();
});