Как остановить Javascript код без предупреждения

0

Есть ли какая-либо функция, которая делает то же самое, что и предупреждение, за исключением того, что не появляется окно предупреждения? (функция, которая останавливает ВСЕ выполнение JS-кода за определенный промежуток времени, но не вызывает предупреждающее сообщение).

setTimeout не работает, так как он останавливает треску, которая находится внутри функции setTimeout.

  • 3
    Каким образом это «не работает» при удалении оповещения?
  • 0
    когда / где создается элемент '.'+test ?
Показать ещё 9 комментариев
Теги:
pageload

5 ответов

0
var startTime = new Date().getTime();
while(new Date().getTime() < startTime + 1000) {}

Это ждет 1000 мс /1 сек. В течение этого времени ваш браузер полностью не отвечает и, возможно, не отображает какие-либо вещи, которых вы, возможно, ожидаете, но эй,... там вы идете;)

0

Функция setTimeout будет выполняться для любой функции, которую вы передаете ей. Таким образом, это не приведет к приостановке выполнения вашего кода, если код не разбит на части и не будет помещен в вызовы setTimeout. Возможно, это подход. Другой подход может заключаться в использовании функции delay (http://api.jquery.com/delay/) вдоль ваших вызовов jquery. Но во всех случаях лучше всего выяснить, что вызывает это поведение, и исправить его в коде.

0

функция javascript, которая остановит ваш код в течение некоторого времени, - setTimeout(), для получения дополнительной информации о том, как использовать эту функцию, пожалуйста, обратитесь к следующей ссылке: http://www.w3schools.com/jsref/met_win_settimeout.asp

  • 1
    Вы не решаете проблему, вы делаете ее хуже. Единственный хороший способ справиться с проблемами синхронизации - это разобраться с его источником, а не откладывать выполнение и надеяться, что вы достаточно долго ждете.
  • 0
    Также, w3fools.com .
Показать ещё 4 комментария
0

Вы пытались использовать элементы DOM, а не JQuery, чтобы создать новый узел. http://www.w3schools.com/jsref/met_node_appendchild.asp

0

Вы могли бы разбить его на две функции и сначала инициировать тайм-аут.

function func1(){
 //do stuff
 setTimeout('func2',2000);
}
function func2(){
 //do some more
}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню