statusDefault = status.textContent,
Скопируйте содержимое перед его изменением, скопировав его внутри JavaScript. Это содержимое по умолчанию.
setStatus = function(s){
status.textContent = s;
Когда функция побежал, устанавливается независимо от первого аргумента в status
«s textContent
. Проще говоря, он просто меняет содержимое элемента, когда функция запускается.
if(s != statusDefault){
Убедитесь, что значение по умолчанию не было введено первым.
var delay = setTimeout(function(){
setStatus(statusDefault);
clearInterval(delay);
}, 3000);
Создать тайм-аут, который длится 3000 миллисекунд (3 секунды), через 3 секунды он называет себя внутренне снова setStatus(statusDefault)
, это сбросит содержимое к тому, что он был первоначально (из-за statusDefault
), и он будет также сделать предыдущий оператор if ложным, поэтому он не создает другой тайм-аут.
Вот более кратким (и, вероятно, легче понять) список:
- Исходное содержание копируется в
statusDefault
.
- Содержимое предназначено для печати
'Testing..'
.
'Testing..'
не соответствует оригинальному содержимому.
- Создайте тайм-аут, который длится 3 секунды (создание 3-секундной задержки).
- Функция снова вызывает себя снова, минуя
statusDefault
.
- Содержимое содержит
statusDefault
.
- Если утверждение неверно. Больше задач, JavaScript не выполняется.