Задать вопрос
partyzanx
@partyzanx

Как сделать переход на якорь выше на 40 пикселей?

Есть такой скрипт, но экран неприятно дёргается, есть ли аналог (попроще и чтобы экран не дёргался), при клике по ссылке происходит моментальный переход на якорь, но выше 40 пикселей от якоря?

document.querySelectorAll('li a')
  .forEach(li => 
    li.addEventListener('click', () => {
      setTimeout(() => {
        window.scrollBy(0, -40)
      }, 0)
    })
  )
  • Вопрос задан
  • 590 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    JavaScript
    3 месяца
    Далее
  • Яндекс Практикум
    Фронтенд-разработчик расширенный
    13 месяцев
    Далее
  • Академия Eduson
    Fullstack-разработчик на JavaScript
    11 месяцев
    Далее
Решения вопроса 1
Exomode
@Exomode
Архитектор ПО
Добавьте вашему блоку CSS-свойство transition для того, чтобы переходы между значениями интерполировались и визуально всё выглядело плавно. Например:
transition: all 350ms ease-in-out;
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы