@wiyod

Как сделать эффект печати?

Хочу сделать эффект печатания текста средствами Вью, как тут - https://github.com/mattboldt/typed.js/

Но почему то string строится не "печатаясь" постепенно, а одни разом. Как сделать изменение текста по буквам? https://codepen.io/kodej/pen/gGERPR
  • Вопрос задан
  • 354 просмотра
Решения вопроса 1
0xD34F
@0xD34F Куратор тега Vue.js
Добавляете свойство, которое будет указывать, сколько символов надо показать:

data: () => ({
  showChars: 0,
  ...
}),

Вырезаете соответствующее количество символов из полной строки и отображаете:

computed: {
  typedString() {
    return this.string.slice(0, this.showChars);
  },
},

<h2>{{ typedString }}</h2>

Запускаете интервал, по которому увеличиваете длину отображаемой строки:

mounted() {
  const intervalID = setInterval(() => {
    if (++this.showChars === this.string.length) {
      clearInterval(intervalID);
    }
  }, 50);
},

https://jsfiddle.net/397wqoby/
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы