@ludie
Для реализации плавной прокрутки к якорям с помощью Vue.js можно использовать пакет vue-scrollto.
1
|
npm install --save vue-scrollto |
или
1
|
yarn add vue-scrollto |
1 2 3 4 |
import Vue from 'vue' import VueScrollTo from 'vue-scrollto' Vue.use(VueScrollTo) |
1 2 3 4 5 |
Прокрутка к якорю |
В этом примере, при клике на ссылку "Прокрутка к якорю", страница будет плавно прокручиваться к элементу с id="anchor"
.
Вы также можете настроить некоторые параметры прокрутки, такие как длительность, смещение и другие. Подробнее об этом вы можете прочитать в документации пакета vue-scrollto.
@ludie
Дополнительно, вы можете использовать директиву v-scroll-to внутри вашего компонента Vue.js для реализации плавной прокрутки к якорям без необходимости установки сторонних пакетов.
Пример использования директивы v-scroll-to в компоненте Vue.js:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
<template> <div> <button v-scroll-to="'#anchor'">Прокрутить к якорю</button> <div id="anchor"> <!-- Ваш контент здесь --> </div> </div> </template> <script> export default { directives: { 'scroll-to': { bind(el, binding) { el.addEventListener('click', () => { document.querySelector(binding.value).scrollIntoView({ behavior: 'smooth' }); }); }, }, }, }; </script> |
В этом примере при нажатии на кнопку "Прокрутить к якорю" будет осуществлена плавная прокрутка к элементу с id="anchor" внутри вашего компонента Vue.js. Пожалуйста, не забудьте подключить данный компонент в вашем проекте Vue.js.