В Angular мне нужно сделать заголовок панели липким в зависимости от того, где на странице находится позиция прокрутки пользователя.
Я считаю, что есть два способа сделать то, чего я хочу достичь. Один из них с чистым CSS с использованием позиции: липкий. Вы можете увидеть мой закомментированный код CSS в app.component.css. Эта техника не имеет ничего общего с Angular и будет работать.
Другой способ, более совместимый с браузером, - это использование JavaScript, где я борюсь, используя Angular против простого html / css / js.
Использование Angular Я использую @HostListener для доступа к прокрутке окна. Это дает мне доступ к текущей позиции прокрутки окна. Я считаю, что это хорошая отправная точка.
Часть, которую я не могу понять, это как проверить положение каждого заголовка панели с помощью offsetTop (), и если позиция проверяемого заголовка панели меньше, чем позиция прокрутки, я хочу добавить класс закрепления, в противном случае удалите его.
Я точно знаю, что было бы немного проще, если бы я сделал панель компонентом самостоятельно. Однако в настоящее время это не вариант.
Пожалуйста, посмотрите, что у меня есть на данный момент:
https://stackblitz.com/edit/angular-b7pgrx