@creatoroftheworld

Есть ли в jQuery «пауза» в коде?

Вот псевдокод:
el1.func1() ; //какая-то операция

pause( 3000 ); // скрипт "замораживается" на 3 секунды

el2.func2(); //после паузы этот код спокойно продолжает выполняться


Вот теперь как это интерпретировать на js или jq ?)
з.ы. Только не спрашивайте, зачем :D
  • Вопрос задан
  • 13364 просмотра
Решения вопроса 1
Если вам реально нужна синхронная пауза в коде, чего я не рекомендую, то она может выглядеть так:

function pause(delay) {
  var startTime = Date.now();

  while (Date.now() - startTime < delay);
}

alert(1);
pause(5000);
alert(2);


Если все же вы планируете выполнять в коде некоторые действия, но через определенный промежуток времени вам нужно вызвать alert(2), то это уже отложенное выполнение функции. Операция эта асинхронная, простейший пример реализации setTimeout

alert(1);
setTimeout(alert, 5000, 2);
alert(3);
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
Petroveg
@Petroveg
Миром правят маленькие с#@&ки
Для отложенного вызова применяют один из таймеровsetTimeout().
В jQuery крайне приблизительный аналог — delay(), но используется это, чаще всего, для построения цепочки эффектов.

el1.func1();
setTimeout(el2.func2.bind(el2), 3000);
Ответ написан
@WhiteSama
Как-то так:
function el1.func1() {
  alert('1');
}

setTimeout(el1.func1(), 3000);

el2.func2();


www.sitepoint.com/settimeout-example
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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