@deion
Cуществует несколько способов сделать плавный скроллинг к якорю с использованием jQuery. Один из них выглядит следующим образом:
HTML:
1 2 3 4 5 |
Перейти к разделу 1 |
JavaScript:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
$(document).ready(function() { // При клике на ссылку с классом "scroll" $(".scroll").click(function(event) { // Отменяем стандартное поведение ссылки event.preventDefault(); // Получаем id якоря из атрибута href var sectionId = $(this).attr("href"); // Используем метод animate для плавного скроллинга к якорю $("html, body").animate({ scrollTop: $(sectionId).offset().top }, 1000); // Время прокрутки в миллисекундах }); }); |
В данном примере при клике на ссылку с классом "scroll" происходит анимированная прокрутка к соответствующему якорю (определенному по href). Важно, чтобы якорище совпадало с id соответствующего раздела, к которому нужно прокрутить. Вместо 1000
можно задать собственное время прокрутки.
@deion
Вот пример HTML кода, для прокрутки к якорю по клику на ссылку:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Smooth Scroll Demo</title> <style> section { height: 800px; } </style> </head> <body> <nav> <ul> <li><a href="#section1" class="scroll">Перейти к разделу 1</a></li> <li><a href="#section2" class="scroll">Перейти к разделу 2</a></li> </ul> </nav> <section id="section1" style="background: #f0f0f0;">Раздел 1</section> <section id="section2" style="background: #ccc;">Раздел 2</section> <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> <script> $(document).ready(function(){ $(".scroll").on('click', function(event) { if (this.hash !== "") { event.preventDefault(); var hash = this.hash; $('html, body').animate({ scrollTop: $(hash).offset().top }, 800, function(){ window.location.hash = hash; }); } }); }); </script> </body> </html> |
В этом примере при клике на ссылку "Перейти к разделу 1" или "Перейти к разделу 2", страница плавно проскроллится к соответствующему разделу.