Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 16.10.2019, 22:20
Аспирант
Отправить личное сообщение для tk.stas Посмотреть профиль Найти все сообщения от tk.stas
 
Регистрация: 25.02.2015
Сообщений: 41

Много элементов = тормоза
Всем привет. Подкиньте пожалуйста идею, как можно решить следующую проблему.

Есть страница с подгружающимися элементами с помощью бесконечной прокрутки. Когда элементов становится слишком много, то страница, соответственно, начинает тормозить.
Как можно сделать чтоб предыдущие элементы скрывались, но при возврате возвращались обратно.
Ответить с цитированием
  #2 (permalink)  
Старый 17.10.2019, 07:31
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,118

Сообщение от tk.stas
Как можно сделать чтоб предыдущие элементы скрывались, но при возврате возвращались обратно.
Скрытие не освободит память на компе.
При огромном количестве ДОМ элементов страница просто "зависнет". Желательно делать подгрузки не только "вниз", но и "вверх".

Если про нижние элементы знает только сервер... То прочитанные можно хранить на клиенте в куках, локалстордже или локальных БД. Потом вычитывать их от туда и отрисовывать...
Правда и тут есть ограничения по объему данных.
Ответить с цитированием
  #3 (permalink)  
Старый 17.10.2019, 10:01
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,714

tk.stas, ru.wikipedia.org/wiki/Объектный_пул

Создайте только столько элементов, сколько видно на экране (также отслеживайте изменение размера видимой области, чтобы добавить элементы на увеличившуюся область), и используйте их, подставляя в них нужные данные, и меняя их позицию, чтобы создавался эффект длинной страницы.

Сообщение от tk.stas
бесконечной прокрутки.
Там нет на самом деле такой прокрутки, у вас данные всё равно однажды закончатся. Это очень длинная страница.

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

UPD Статья на эту тему: https://medium.com/walkme-engineerin...d-a4f58f4b86d5

Последний раз редактировалось Malleys, 17.10.2019 в 10:25.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как с помощью скрипта высчитать ширину полосы прокрутки? LADYX Элементы интерфейса 35 13.11.2017 12:50
Несколько элементов + динамические + действия kapustnik Events/DOM/Window 1 26.07.2013 08:01
Через ajax отправить много данных из таблицы на сервер Heger jQuery 3 29.08.2012 18:51
Чудеса математики js при padding borovik Элементы интерфейса 6 09.07.2011 22:02
Тормоза в ИЕ раскрывающегося списка Bekass Элементы интерфейса 1 04.12.2009 16:38