Pull to refresh
8K+
5
Александр Калабин@itihon

User

Send message

Виртуализация адаптивной Grid разметки

Level of difficultyMedium
Reading time8 min
Reach and readers9.4K

В этой статье я хочу поделиться своим подходом к решению задачи виртуализации списка элементов неизвестной высоты. Популярные библиотеки решают эту задачу с помощью приблизительных оценочных размеров с последующими замерами и корректировкой. Я хочу описать метод, основанный на привязке индексов к положению скроллбара, который позволяет достаточно точно позиционировать видимый диапазон элементов, при этом, не зная даже приблизительных размеров всех предыдущих элементов, используя только простую математику и родные механизмы позиционирования и разметки браузера.

С примерами работы на TypeScript, React, Vue и Angular можно ознакомиться на домашней странице проекта Layout Virtual.

Репозиторий с проектом тут.

Читать далее

Isomorphic-validation — Javascript библиотека, облегчающая валидацию пользовательского ввода

Level of difficultyMedium
Reading time7 min
Reach and readers2.5K

Я начал этот небольшой проект под названием isomorphic-validation, как эксперимент, в основном в образовательных целях. Несмотря на то, что существует множество других библиотек валидации, я решил все равно изобрести велосипед. Это была попытка скрыть все сложности, связанные с условными операторами и асинхронностью при создании пользовательского интерфейса...

Читать далее

Обнаружение изменения положения DOM элемента с помощью IntersectionObserver

Level of difficultyMedium
Reading time7 min
Reach and readers3K

Попытка создания универсального решения, которое позволяет обнаруживать изменение положения элемента на веб-странице в независимости от того, чем оно было вызвано: прокруткой, изменением размера окна или родительского контейнера, масштабированием, изменением разметки или непосредсвенно заданием координат left и top самого элемента.

Читать далее

Information

Rating
917-th
Location
Казахстан
Registered
Activity

Specialization

Фронтенд разработчик, Фулстек разработчик
Средний
Веб-разработка
Английский язык
Разработка программного обеспечения