@wiyod

Как сделать универсальный scrollspy?

С удивлением столкнулся с фактом, что фактически нету ниодного ванильного или Вью-плагина scrollspy, который бы нормально работал (да и тех что кривоватые 2-3 штуки). Все остальные - на jQuery. Поэтому захотелось реализовать самому. Сделал элементарный набросок для одного элемента и тут я понял, что не так все просто.

Как сделать из этого универсальный инструмент? Как присваивать data properties для всех объектов (к которым я привяжу назначение стилей), как назначать отдельный обработчик для каждого элемента который нужно отслеживать и тд и тп. В идеале надо где-то в одном месте перечислить элементы-блоки, или назначить им общий класс, и потом изменяя data properties присваивать классы соответсвующим ссылкам, которые ссылаются на эти элементы.

Весь нужный функционал реализован здесь, но только для одного элемента Second - https://codepen.io/kodej/pen/MEzNwm

Прошу помощи, как реализовывать подобную логику?
  • Вопрос задан
  • 461 просмотр
Решения вопроса 1
0xD34F
@0xD34F Куратор тега Vue.js
Ну, наверное, в data должен быть массив объектов, описывающих блоки. Вместо логического значения активности следует работать с номером активного блока. А чтобы вручную не писать разметку каждого блока, использовать v-for. Как-то так.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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