Обработчик события окончание анимации. JS и CSS

218
09 мая 2018, 03:29

Нужно сделать анимацию. Чтобы элемент передвигался в одно место, затем в другое, потом в третье и т.п. То есть окончание одной анимации должно вызывать другую. Есть код:

photo_items[3].addEventListener('transitionend', function() {
    if (this.style.left === '234px') {
        this.style.left   = '39px';
    }
    if (this.style.left === '450px'){
        this.style.left   = '234px';
    }
});

По задумке, находясь на left = 450, он плавно переходит на left = 234, а затем на left = 39. Но по факту сразу переходит в left = 39.

Answer 1

Я так понимаю вам нужно что-то по типу этого:

.wrapper { 
  width: 500px; 
  height: 180px; 
  position: relative; 
} 
 
.elem { 
  width: 70px; 
  height: 70px; 
  background-color: blue; 
  position: absolute; 
  animation: runSircle 3s linear infinite; 
} 
 
@keyframes runSircle { 
    0% {left: 0; top: 0;} 
    25% {left: 130px; top: 0;} 
    50% {left: 130px; top: 110px;} 
    75% {left: 0; top: 110px;} 
    100% {left: 0; top: 0;} 
}
<div class='wrapper'> 
  <div class='elem'></div> 
</div>

Или пример

READ ALSO
Как сделать нормальное мега меню jquery?

Как сделать нормальное мега меню jquery?

Делаю мега меню и получилась ересь: результат работы и проблему можно увидеть тут: sanahuntsite Блоки перекрывают друг друга и не исчезают как...

188
Как определить в каком из div

Как определить в каком из div

Как определить в каком из div с id произошли изменения в этом iteminfo0_game_name или в этом iteminfo1_game_name?

203
Запрет доступности папки по условию

Запрет доступности папки по условию

Столкнулся с такой ситуацией: на свой сайт добавляю много лендингов, то есть выглядит как то так http://sitecom/land1/ и таких лендов куча

213