@VegasChickiChicki

Как отложить анимацию элемента transition?

Суть в том, что есть 3 блока, у них одна анимация, при открытии страницы с использованием свойства
appear эти анимации срабатывают сразу, но нужно, что бы они сработали по очереди.
То есть, первая, через 1s вторая, через 2s третья. Не могу понять как это реализовать. Как "сказать" элементу transition, что старт нужно отложить на n секунд.
  • Вопрос задан
  • 196 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега Vue.js
Рендерить элементы с задержкой:

data: () => ({
  items: [
    { show: false, ... },
    { show: false, ... },
    ...
  ],
}),
computed: {
  showItems() {
    return this.items.filter(n => n.show);
  },
},
mounted() {
  this.items.forEach((n, i) => setTimeout(() => n.show = true, i * 1000));
},

<transition-group name="fade">
  <div v-for="n in showItems" :key="n.id">{{ n }}</div>
</transition-group>
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
hzzzzl
@hzzzzl
через css?

.anim-block:nth-of-type(1) {  transition-delay: 0s;  }
.anim-block:nth-of-type(2) {  transition-delay: 1s;  }
.anim-block:nth-of-type(3) {  transition-delay: 2s;  }
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы