Принудительное обновление DOM в JavaScript - PullRequest
4 голосов
/ 23 декабря 2011

Я выполняю цикл в обработчике событий щелчка, делая следующее:

  • выполнять тяжелые вычисления (занимает 1-3 с)
  • Звоните $("<li> + data + </li>").appendTo($("#results"))

Проблема в том, что DOM не обновляется, пока цикл не завершится. Выполнение цикла для 100 итераций занимает слишком много времени, я хотел бы давать результат каждый раз, когда вычисляю один.

Как заставить DOM обновляться?

1 Ответ

4 голосов
/ 23 декабря 2011

Если вы работаете в браузере, который его поддерживает, рабочие идеально подходят для этой ситуации.

Если нет, используйте setTimeout после каждого вычисления, чтобы разбить стек вызовов и разрешить браузериспользовать время на рендеринг.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...