Возможно, вы неправильно понимаете природу setTimeout
.Все, что он делает, это запускает функцию первого параметра с интервалом, заданным вторым параметром.Так как ваша функция всегда делает одно и то же, а именно, устанавливает атрибут textContent
элемента Salutation
на "hello"
, похоже, она ничего не делает.Нет такого альтернативного поведения по умолчанию;Вы должны добавить эту логику, используя какое-то условие.Например:
function salutation(elem) {
elem.innerText = elem.innerText === "hello" ? "world" : "hello";
}
setInterval(salutation, 1000, document.getElementById("salutation"));
<h1>hello welcome to our dictionary</h1>
<p>Come see what words we have to offer</p>
<br>
<p id="salutation">1.Saluation</p>
Обратите внимание, что я удалил обработчик ready
, добавил кавычки и пробелы вокруг атрибута id
и поместил его в нижний регистр.Это соглашения по стилю, которые будут иметь значение в некоторых ситуациях, но в данном случае это не проблема, если предположить, что ваша функция setTimeout
находится в той же области действия, что и ваша функция salutation
(вам не хватало закрывающей скобки и скобок, что делало ее неясной).
Наконец, я добавил elem
в качестве третьего параметра к вызову setTimeout
в целях определения области видимости и избежания дополнительных вызовов DOM, но это также не является обязательным.