Нужно сделать перемещение слайдов слева направо. Пробовал так:
var slides = document.querySelectorAll('.sliders .slide');
var currentSlide = 0;
var slideInterval = setInterval(nextSlide, 3000);
function nextSlide() {
goToSlide(currentSlide + 1);
}
function previousSlide() {
goToSlide(currentSlide - 1);
}
function goToSlide(n) {
slides[currentSlide].className = 'slide';
currentSlide = (n + slides.length) % slides.length;
slides[currentSlide].className = 'slide showing';
}
var next = document.getElementById('next');
var previous = document.getElementById('previous');
next.onclick = function() {
nextSlide();
clearInterval(slideInterval);
}
previous.onclick = function() {
previousSlide();
clearInterval(slideInterval);
};
.sliders {
position: relative;
height: 360px;
padding: 0px;
margin: 0px;
list-style-type: none;
margin-bottom: 45px
}
.slide {
position: absolute;
left: 0px;
top: 0px;
width: 100%;
height: 100%;
opacity: 0;
z-index: 1;
margin: 20px 0px;
text-align: center;
box-shadow: 0 0 5px 2px #fff;
border-radius: 5px;
-webkit-transition: opacity 1s;
-moz-transition: opacity 1s;
-o-transition: opacity 1s;
transition: opacity 1s;
}
.showing {
opacity: 1;
z-index: 2;
animation-timing-function: ease-in
}
<div class="sliders">
<div class="slide"><img src="http://via.placeholder.com/250x250/ff00ff/000000" style="width:100%;height: 100%;border-radius: 5px"></div>
<div class="slide"><img src="http://via.placeholder.com/250x250/000000/ff00ff" style="width: 100%;height: 100%;border-radius: 5px"></div>
<div class="slide"><img src="http://via.placeholder.com/250x250/00fc00/ccff00" style="width: 100%;height: 100%;border-radius: 5px"></div>
<div class="slide"><img src="http://via.placeholder.com/250x250/ccff00/00fc00" style="width: 100%;height: 100%;border-radius: 5px"></div>
<button class="controls" id="previous">previous</button>
<button class="controls" id="next">next</button>
</div>
Может в стилях ошибся?
jsперемещения нет... Толькоopacity– Air Nov 14 '18 at 04:37