я испытывал что-то я читал раньше о том, как случайная Math.random()
на самом деле, и хотел, чтобы отобразить 10000 номеров, что должно было быть случайное число между 0 и 10000000.JQuery HTML(), действующий очень медленно
Чтобы увидеть test, я решил просто присоединиться к массиву случайных чисел к строке с <br>
между каждым целым числом. И тогда я просто сделал $("#"+elm).html(randomNumberString);
, который был очень медленным. Я просто подумал, что это генерация и сортировка случайных чисел в массив. Но когда я начал размещать таймеры в своем коде, стало очевидно, что это был результат, который замедлял все.
Так как тест я сделал document.getElementById(elm).innerHTML = randomNumberString;
jQuery.html(): 2500ms getElementById.innerHTML: 170ms
Я попробовал это на всех 5 браузеров, и номера были очень близки во всех браузерах. .. Я использую jQuery неправильно в этом случае? Я также попытался добавить и извлечь элемент перед запуском таймера, поэтому я мог просто сделать $(elm).html()
, но это не помогло. Кажется, это фактическая функция html()
, которая замедляет все.
EDIT я в конечном итоге делает это:
randomStringNumber = "<div>" + randomStringNumber + "</div>";
и теперь все это работает гораздо быстрее: jQuery.html(): 120 мс getElementById.innerHTML: 80ms
Еще быстрее используя oldschool html. И если у кого-то есть ответ на вопрос, зачем быстрее обертывать его в один элемент, я был бы признателен ...
Точка 7, кажется, соответствующая – Greg
приятно! Не знаю, почему это быстрее, хотя ... hmmmmm ..... – peirix
Должен был добавить отзыв здесь. Ссылка 404 – guzart