@anriko

Почему не работает setTimeout?

setTimeout(function(){
              var counter = 0;
              var timerId = setTimeout( function () {
                  counter ++;
              },1000);

 console.log(counter);
              setTimeout(function(){
                  console.log(counter);
                  nextselect.addClass('same-as-selected').trigger( "click" ); }, 1400);}
    ,500);
  • Вопрос задан
  • 95 просмотров
Пригласить эксперта
Ответы на вопрос 2
sergiks
@sergiks Куратор тега JavaScript
♬♬
setTimeout(function () {
  var counter = 0;

  setTimeout(() => counter++, 1000); // через 1с увеличит на 1

  console.log(counter); // выведет 0, сразу

  setTimeout(() => {
    console.log(counter);
    nextselect.addClass('same-as-selected').trigger("click");
  }, 1400); // через 1.4с "кликнет"
}, 500); // вообще всё начнётся только через пол-секунды


0         - начало
0.5       - начнёт выполняться внешняя ф-я:
            зарядятся два таймера, в промежутке выведет 0
0.5 + 1   - counter увеличится на 1
0.5 + 1.4 - еще раз выведется counter, добавится класс, клик
Ответ написан
Bavashi
@Bavashi
Все работает. Смотрите, можно так лог вывести:

setTimeout(function() {
  var counter = 0;
  var timerId = setTimeout(function() {
    counter++;
  }, 1000);

  console.log("counter 1 = " + counter);
  setTimeout(function() {
    console.log("counter 2 = " + counter);
    nextselect.addClass('same-as-selected').trigger("click");
  }, 1400);
}, 500);
Ответ написан
Ваш ответ на вопрос

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

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