Я хотел бы дополнить ответ @Kjvhout.
Это решение работает только для первой ссылки из-за неправильного селектора в части JS.
Чтобы исправить это, я бы хотелвыполните следующее:
- Удалите JS в целом , если вы осмотрите dom, вы увидите, что заголовок уже содержит липкий класс, поэтому нет необходимости добавлять новыйякорям.
- Перепишите CSS, чтобы он соответствовал этой структуре DOM, что-то вроде этого должно работать:
.sticky .nav__link:after {
display: block;
width: 0;
height: 2px;
background: #fff;
background-color: rgb(255, 255, 255);
color: #fff;
background-color: #fff;
transition: width .3s;
}
Это должно решить проблему и будет лучшим решением для васможет избавиться от неиспользованной части JS.
Причиной, по которой ответ @Kjvhout работал только для первой, является часть JS, ваш селектор document.querySelector('.nav__link')
выбирает только один HTMLElement, чтобы получить всю коллекцию, которую вы должныиспользуйте document.querySelectorAll('.nav__link')
, а затем переберите эту коллекцию и примените соответствующий класс.
Но, как я уже говорил ранее, мое решение проще, так как вам не нужно иметь дело с JS.