Как оптимально отобразить большое количество элементов 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?

Спасибо за ваши ответы заранее.

Ответы на вопрос(3)

Ваш ответ на вопрос