Как оптимально отобразить большое количество элементов DOM, используя JavaScript?
На веб-странице у меня есть довольно большой список товаров (скажем, карточек товаров, каждая из которых содержит изображение и текст) - около 1000 из них. Я хочу отфильтровать этот список на клиенте (должны отображаться только те элементы, которые не отфильтрованы), но есть проблема производительности рендеринга. Я применяю очень узкий фильтр и остается только 10-20 элементов, затем отменяю его (поэтому все элементы должны быть показаны снова), и браузер (Chrome на очень хорошем компьютере) зависает на секунду или две.
Я перерисовываю список, используя следующую процедуру:
<code>for (var i = 0, l = this.entries.length; i < l; i++) { $(this.cls_prefix + this.entries[i].id).css("display", this.entries[i].id in dict ? "block" : "none") } </code>
dict - это хэш разрешенных элементов & apos; идентификаторы
Эта функция сама запускается мгновенно, это рендеринг, который зависает. Существует ли более оптимальный способ повторного рендеринга, чем изменение «отображения» свойство элементов DOM?
Спасибо за ваши ответы заранее.