У меня есть две CodePens, которые описывают мою проблему. Я использую Velocity для анимации элементов, отображаемых на странице.Velocity JS и динамически добавленные элементы DOM
Цель состоит в том, чтобы переместить эти "статьи" вверх и вниз страницы на основе ранга. Они абсолютно позиционируются, и я определяю позицию на странице на основе rank * height
.
working example успешно отображает все элементы, а затем после setTimeout
из 2 секунд он меняет порядок.
Предполагается, что non-working example будет делать то же самое, но единственный, который он перемещает по странице, является конечным объектом DOM (id=article-5
).
Единственное различие между примерами является то, что working example уже оказанные DOM элементов на странице, в то время как non-working example делает HTML с помощью JavaScript
var articlesContainer = document.getElementsByClassName('articles')[0];
for (var i = 1; i <= 5; i++) {
articlesContainer.innerHTML = articlesContainer.innerHTML + '<div id=article-' + i + '></div>';
}
Не совсем уверен, почему это динамическое добавление в HTML-элементов нарушит это. Стоит отметить, что первые 4 элемента, которые не умеют анимировать, имеют класс velocity-animating
, что означает, что Velocity, по крайней мере, пыталась анимировать объект, но, похоже, провалилась по пути где-то.
Любые идеи?
Это сработало отлично. Рабочий код http://codepen.io/migreva/pen/pJEOjq. Все еще привыкший к Javascript без jQuery, это был болезненный процесс – migreva