Я хочу сделать следующее: создать div (#test), а затем много раз клонировать этот div, каждый раз, когда он клонируется, добавляя к нему переход css через javascript. Все работает хорошо в первый раз, но если я попытаюсь клонировать второй раз и применить переход css, то переход не сработает.
В этом примере (https://jsfiddle.net/9uL1qt6n/13/) красный квадрат движется как положено, но зеленый квадрат не двигается и появляется в конце перехода мгновенно.
Вот код javascript, который я использую:
function move(color){
let clone=document.getElementById("test").cloneNode(true);
clone.id=color;
clone.style.display="block";
clone.style.backgroundColor=color;
document.getElementById("main").prepend(clone);
setTimeout(function(){
clone.style.left="500px";
},0)
}
setTimeout(function(){move("red")},500);
setTimeout(function(){move("green")},750);
Я ожидаю, что красный квадрат будет начинаться с левого = 0 пикселей на 0,5 с и двигаться вправо, а затем зеленый квадрат, который начинается с левого = 0 пикселей на 0,75 с и двигаться вправо. То, что я вижу, это красный квадрат, который начинается с левого = 0 пикселей на 0,5 с и движется вправо, а затем зеленый квадрат, который начинается с левого = 500 пикселей на 0,75 с и не движется.
Изменить: кажется, что это правильно работает в Safari на Mac, а также в Safari и Chrome на iOS. Предлагаемое выше поведение появляется только в Chrome на Mac.