Как сделать плавную прокрутку к заданному месту на странице с использованием JQuery

Разместил / Просмотров: 31 859 / комментариев 20

Здравствуйте, дорогие читатели блога. Сегодня я хочу рассказать Вам как сделать плавную прокрутку к заданным ссылкам на странице с использованием JQuery. Хочу сказать, что это очень удобная и полезная функция. Особенно если текст длинный и делится на несколько разделов.

Чтобы Вам было понятнее, посмотрите пример:

Пример

Как видно в примере, если нажать на ссылку «Services». Срабатывает автоматическая прокрутка, которая перемещает нас к заданному разделу, в данном случае это Services.

Как это работает

В принципе здесь ничего сложного нет. Коду ссылке присваивается класс, далее чтобы по нажатию на неё прокрутка переместила нас по назначению, тому месту нужно присвоить тот же класс который в коде ссылки. Только уже с помощью тегов <div>.

Затем в работу вступает скрипт JQuery (код ниже). Надеюсь, что всё понятно объяснил :-) Но всё же давайте посмотрим как это выглядит в html:

Код ссылки с уже присвоенным классом:

<a href="#services">Services</a>

html код куда нужно переместится после нажатия на ссылку:

<div id="services">
 <h2>Текст заголовка</h2>
 Контент
 </div>

Как видите, что код ссылки ссылается на класс <div id=»services»>. И вот таким образом мы перемещаемся к этому <div>у.

Теперь самое главное — это заставить страницу плавно прокручиваться к заданному месту. И делать мы это будем с помощью JQuery.

Скрипт JQuery

Сам скрипт Вы можете добавить между тегами <head> и </head>. Или же скопировать, создать текстовый документ, вставить код туда и сохранить его с разрешением .js. И потом прикрепить его Вот так:

<script src="ссылка на скрипт.js"></script>

В общем выбирать Вам. Ну а теперь вот он и сам код JQuery:

$('a[href^="#"]').bind('click.smoothscroll',function (e) {
 e.preventDefault();

var target = this.hash,
 $target = $(target);

$('html, body').stop().animate({
 'scrollTop': $target.offset().top
 }, 500, 'swing', function () {
 window.location.hash = target;
 });
 });

Важно

Если будете задавать другой класс коду ссылки, обязательно используйте английские буквы, иначе ничего работать не будет.

Вот и всё, что хотелось сегодня рассказать Вам, друзья. Если У Вас будет что то не получатся или что либо не понятно, спрашивайте в комментариях. До скорых встреч.