Вопрос как сделать паузу в JavaScript на часть кода?

Регистрация
22 Окт 2013
Сообщения
86
Репутация
0
Спасибо
0
Монет
0
Например
setTimeout(function() {
alert("сообщение 1");
}, 5000);
alert("сообщение 2");

Выводится с начало "сообщение 2" а потом "сообщение 1"

Если использовать в цикле функцию
function delay(x) {
var d = new Date();
var c, diff;
while (1) {
c=new Date();
diff = c-d;
if (diff > x) break;
}
}

То во время паузи кнопки на станице, где работает скрипт не активны (не кликабельные).

Мне нужно чтобы и код приостанавливался и кнопки были активними
 
Учись работать с Promise-объектами для асинхронного выполнения операций. Используй delay-реализацию с Promise. Ну или async await.
 
Ну поскольку ты заблочил правельные ответы напишу неправильный но вполне рабочий вариант кстати такая функция есть в JScript встроена в сам язык sleep=(a)=>{let b=(new Date).getTime()+a;while((new Date).getTime()<b);}; Вызывать так sleep(3000); означает заснуть на три секунды А направительный ответ эта засунуть вторую часть кода в сет тайм аут как ранее тебе предлагали но ты их заблочил! ⚤
 
Назад
Сверху