TGViewer
Вёрстка сайтов | HTML, CSS, JS Вёрстка сайтов | HTML, CSS, JS @free_html_lessons · 4.5K subscribers
Post #2640 872
Задача: Умная виртуализация списка с переменной высотой:

Контекст
Есть длинный список карточек (чат, лента, лог событий).
Карточки имеют динамическую высоту (зависит от текста, картинок, раскрытых блоков).

Условие
Реализовать функцию, которая по:
- текущему scrollTop
- высоте контейнера viewportHeight
- массиву элементов, где высота известна только после рендера

возвращает:
- диапазон индексов элементов, которые нужно отрендерить
- корректный padding-top и padding-bottom, чтобы скролл не «прыгал»

Ограничения
- Нельзя рендерить все элементы
- Высоты элементов могут меняться после первого рендера
- Скролл должен оставаться плавным

#домашка
  • 👍 1
More from @free_html_lessons
  1. Oct 17, 2026JS Задача: Объедините два массива по ID Описание: Учитывая два массива arr1 и arr2, вернит…
  2. Oct 17, 2026«Там поправить на пять минут»: почему правка на сданном сайте съедает вечер Сайт сдан, а з…
  3. Oct 16, 2026Post #3092
  4. Oct 16, 2026Post #3091
  5. Oct 16, 2026Макет для тренировки (метры) Перейти к макету 🧑‍💻 #практика | #макет
  6. Oct 14, 2026Создаём красивую кнопку загрузки с анимацией на CSS Эффектная кнопка загрузки сделает ваш…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →