/
kaws
/
ui-kit-ce
Обзор
Документация
Войти
/
kaws
/
ui-kit-ce
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
develop
packages/list/src/utils/scrollListToOption.ts
36 строк
1 KB
Denis Svyatovets
style: добавлен плагин eslint для jsDoc
27 янв 2025, 17:06
27 янв 2025, 17:06
6287359
Код
Авторство
О чём код?
/** * Функция для прокрутки листа вниз при смене активного элемента. * * @param list - Ссылка на лист. * @param element - Текущий элемент (активный). * @param listPadding - Величина на которую нужно опустить лист. * @param groupBy - Параметр отвечающий за прокрутку с группировкой (чтобы активный элемент оставался в области видимости). */ const SCROLLING = 4 export const scrollElement = ( list: HTMLUListElement | HTMLElement | null, element: HTMLElement | null, listPadding: number, groupBy?: boolean ): void => { if (element && list) { if (list.scrollTop > element.offsetTop) { list.scrollTo(0, element.offsetTop - listPadding) } if ( element.offsetTop + element.offsetHeight * (groupBy ? SCROLLING : 1) > list.scrollTop + list.clientHeight ) { list.scrollTo( 0, element.offsetTop + element.offsetHeight * (groupBy ? SCROLLING : 1) - list.clientHeight + listPadding ) } } }