1

Нужно сделать перемещение слайдов слева направо. Пробовал так:

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>

Может в стилях ошибся?

UModeL
  • 34,026
  • 6
  • 29
  • 71
ilyaaa521
  • 652
  • А где у вас код, отвечающий за перемещение? – Stepan Kasyanenko Nov 14 '18 at 04:37
  • Ни в стилях ни в js перемещения нет... Только opacity – Air Nov 14 '18 at 04:37
  • Пробовал opacity заменить на transform, не получилось, transition: left 500ms linear; – ilyaaa521 Nov 14 '18 at 04:42
  • Возможно ли сделать такое перемещение на css? – ilyaaa521 Nov 14 '18 at 05:30
  • https://ru.stackoverflow.com/a/574419/178988 – Qwertiy Nov 14 '18 at 06:11
  • https://ru.stackoverflow.com/a/703654/178988 – Qwertiy Nov 14 '18 at 06:16
  • Хотелось бы конкретно на моем примере, те варианты не походят, так как у меня нету фиксированной ширины контейнера с слайдерами – ilyaaa521 Nov 14 '18 at 06:48
  • @ilyaaa521, вообще-то она там не нужна. – Qwertiy Nov 14 '18 at 06:56
  • Вообще-то я не умничать в коментах просил, а подсказать как правильно сделать конкретно в моем случае. – ilyaaa521 Nov 14 '18 at 07:01

0 Answers0