JSFiddle - React, Tailwind, and code Playground
by yoowordpress
HTML
<div class="slider">
<div class="slider-content">
<div class="slide">
<img src="http://manos.malihu.gr/tuts/malihu-jquery-image-gallery/images/Universe_and_planets_digital_art_wallpaper_Hibernaculum.jpg"/>
</div>
<div class="slide">
<img src="http://manos.malihu.gr/tuts/malihu-jquery-image-gallery/images/Universe_and_planets_digital_art_wallpaper_denebola.jpg"/>
</div>
<div class="slide">
<img src="http://manos.malihu.gr/tuts/malihu-jquery-image-gallery/images/Universe_and_planets_digital_art_wallpaper_lux.jpg"/>
</div>
<div class="slide">
<img src="http://manos.malihu.gr/tuts/malihu-jquery-image-gallery/images/Universe_and_planets_digital_art_wallpaper_albireo.jpg"/>
</div>
<div class="slide">
<img src="http://manos.malihu.gr/tuts/malihu-jquery-image-gallery/images/Universe_and_planets_digital_art_wallpaper_church.jpg"/>
</div>
<div class="slide">
<img src="http://manos.malihu.gr/tuts/malihu-jquery-image-gallery/images/Universe_and_planets_digital_art_wallpaper_Decampment.jpg"/>
</div>
</div>
</div>
CSS
.slider {
width:100%;
height:100%;
/*position:relative;*/
}
.slider-content {
/*width:640px;
height:360px;*/
width:100%;
height:100%;
overflow: hidden;
border:10px solid #eee ;
/*position:relative;*/
}
.slide {
width:100%;
height:100%;
}
.slide img{
width:100%;
height:100%;
}
.slider-controls {
position:absolute;
right:15px;
bottom:12px;
text-align:center;
}
.slider-controls .control-slide {
margin:2px;
display:inline-block;
width:16px;
height:16px;
overflow:hidden;
text-indent:-9999px;
background:url(radioBg.png) center bottom no-repeat;
}
.slider-controls .control-slide:hover {
cursor:pointer;
background-position:center center;
}
.slider-controls .control-slide.active {
background-position:center top;
}
.prew, .next {
display:none;
width:15px;
height:100%;
position:absolute;
top:0;
overflow:hidden;
text-indent:-999px;
background:url(arrowBg.png) left center no-repeat;
opacity:0.8;
z-index:3;
}
.prew {
left:10px;
}
.next {
right:10px;
background:url(arrowBg.png) right center no-repeat;
}
.prew:hover, .next:hover {
opacity:1;
}
.slider-content:hover .prew, .slider-content:hover .next {
display:block;
}
JavaScript
(function ($) {
var SlideSpeed = 700;
var TimeOut = 3000;
$(document).ready(function(e) {
$('.slide').css(
{"position" : "absolute",
"top":'0', "left": '0'}).hide().eq(0).show();
var slideNum = 0;
var slideTime;
slideCount = $(".slider-content .slide").size(); // получаем количество слайдов
console.log(slideCount);
var animSlide = function(arrow){
clearTimeout(slideTime);//обнуляем переход
$('.slide').eq(slideNum).fadeOut(SlideSpeed);
if(arrow == "next"){
if(slideNum == (slideCount-1)){slideNum=0;}
else{slideNum++}
}
else if(arrow == "prew")
{
if(slideNum == 0){slideNum=slideCount-1;}
else{slideNum-=1}
}
else{
slideNum = arrow;
}
// thumb = $('.control-slide').eq('.slide').attr('src');
//console.log(thumb);
$('.slide').eq(slideNum).fadeIn(SlideSpeed, rotator);
$(".control-slide.active").removeClass("active");
$('.control-slide').eq(slideNum).addClass('active');
}
var $linkArrow = $('<a class="prew" href="#"><</a><a class="next" href="#">></a>')
.prependTo('.slider-content');
$('.next').click(function(){
animSlide("next");
return false;
})
$('.prew').click(function(){
animSlide("prew");
return false;
})
var $adderSpan = '';
$('.slide').each(function(index) {
$adderSpan += '<span class = "control-slide">' + index + '</span>';
});
$('<div class ="slider-controls">' + $adderSpan +'</div>').appendTo('.slider');
$(".control-slide:first").addClass("active");
$('.control-slide').click(function(){
var goToNum = parseFloat($(this).text());
animSlide(goToNum);
});
var pause = false;
var rotator = function(){
if(!pause){slideTime = setTimeout(function(){animSlide('next')}, TimeOut);}
}
$('.slider').hover(
function(){clearTimeout(slideTime); pause = true;},
function(){pause = false; rotator();
});
rotator();
});
})(jQuery);