$ .each заставляет IE сканировать - PullRequest
0 голосов
/ 23 июня 2009

Я пытаюсь использовать JSON для заполнения div, поэтому я в основном запускаю цикл, чтобы просмотреть все полученные данные, около 200 записей, и заполнить их в div.

Отлично работает в большинстве браузеров, но IE ползет до ядра. Есть ли какое-то решение проблемы?

Спасибо за ваше время.

Ответы [ 2 ]

4 голосов
/ 23 июня 2009

Добавляете ли вы каждый бит данных в div одновременно? Каждое добавление заставляет браузер вызывать перерисовку, которую можно сохранить, объединяя и добавляя все в конце.

function doStuff(json) {
    $.each(json,function(key, val) {
       $('#myEl').append(val); //redraws every time.
    });
}

function doStuffBetter(json) {
    var html = '';
    $.each(json,function(key, val) {
       html += val;
    });
    $('#myEl').append(html); //only 1 redraw
}
0 голосов
/ 23 июня 2009

На прошлой неделе я смотрел код Google, рассказывающий об оптимизации JavaScript . Было хорошее обсуждение зацикливания, и я помню, что $ .each работал медленно. Не уверен, что это поможет, но вы можете посмотреть видео.

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