Вы можете использовать инкрементный тайм-аут для другого текста. Они будут печатать в разных timelines
.
var cars = ["Saab", "Volvo", "BMW"];
cars.forEach((car, index) => {
setTimeout(function loop() {
document.getElementById("text").innerHTML = car;
}, index * 2000)
})
<h1 class="name" id="text"></h1>
Если вы хотите выучить async programming
, вы можете сделать то же самое, используя async-await
. Пожалуйста, посмотрите на пример ниже.
// Функция печати, которая печатает через 1 секунду c.
const print = (car) => {
return new Promise(resolve => {
setTimeout(() => {
// Print here
document.getElementById("text").innerHTML = car;
resolve()
}, 1000)
})
}
// Основная функция, теперь используйте ее
async function main() {
var cars = ["Saab", "Volvo", "BMW"];
for (let index = 0; index < cars.length; index++) {
await print(cars[index])
}
}
main()
Рабочий образец:
const print = (car) => {
return new Promise(resolve => {
setTimeout(() => {
// Print here
document.getElementById("text").innerHTML = car;
resolve()
}, 1000)
})
}
async function main() {
var cars = ["Saab", "Volvo", "BMW"];
for (let index = 0; index < cars.length; index++) {
await print(cars[index])
}
}
main()
<h1 class="name" id="text"></h1>