@Genri_Rus

Как при клике и скроллинге менять цвет у кнопок?

Вот пример: https://codepen.io/Genri_Rus/pen/ydbzbO

<ul>
  <li data-nav="s-1">Кликни 1</li>
  <li data-nav="s-2">Кликни 2</li>
  <li data-nav="s-3">Кликни 3</li>
  <li data-nav="s-4">Кликни 4</li>
</ul>

<main>
  <section id="s-1"></section>
  <section id="s-2"></section>
  <section id="s-3"></section>
  <section id="s-4"></section>
</main>

$(document).on('click', "ul li", function() {

  let elementID = $(this).attr("data-nav");

  $('html, body').animate({
    scrollTop: $("#" + elementID + "").offset().top
  }, 700);
});

Как при клике и скроллинге менять фон кнопкам (без плагина) в зависимости от позиции?
  • Вопрос задан
  • 278 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
В обработчике события scroll определяйте индекс первого элемента, offset.top + height которого превышает текущее значение прокрутки, и подсвечивайте соответствующую кнопку.

https://jsfiddle.net/tr03ph2f/
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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