Я хочу напечатать абзац, содержащий термины, которые динамически изменяются каждую секунду с использованием метода JavaScript setInterval.Что случилось с тем, как я использую setInterval()?
Меняющиеся термины находятся в массиве, который я хочу перебрать. Проблема в том, что вместо повторения каждого члена в массиве и его отображения отображается только последний член в массиве.
Вот код:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title></title>
<style>
#changingText{
color: blue;
font-size: 2.8em;
}
</style>
</head>
<body>
<p>Hello! I am a <span id="changingText">person</span></p>
<script>
var changingText = document.getElementById('changingText');
var things = ['Rap fan', 'runner', 'male', 'basketball player', 'mammal'];
setInterval(changeText, 1000);
function changeText() {
for(var i = 0; i < things.length; i++) {
changingText.innerHTML = things[i];
}
}
</script>
</body>
</html>
Что я делаю неправильно?
каждый второй весь 'changeText()' выполняется. Поэтому каждый раз, когда вы зачитываете все «вещи» один за другим. – Sirko
На ваш вопрос ответили? Если вы не согласитесь принять ответ, который вы использовали, чтобы другие не тратили время. Спасибо за понимание. – Trevor
На мой вопрос был дан ответ, и я прокомментировал первый ответ, который работал отлично. – Adrian