Если вы имеете представление что такое ссылка, то наверняка знаете, что для навигации по странице удобно использовать якорные ссылки. Якорная ссылка позволяет перемещаться до нужного блока на странице, удобство заключается в возможности использования таких ссылок в документах большого объема. Таким образом, создается якорь – закладка с уникальным именем на странице, после чего в атрибуте тега ссылки href указывается имя якоря, которое начинается символа #.
По умолчанию при клике по такой ссылке в обозревателе, перемещение на нужную закладку происходит мгновенно, без каких либо эффектов. Рассмотрим пример, как можно сделать плавное перемещение от ссылки до закладки.
Первым делом, чтобы пример работал, вам следует подключить JQuery у себя на странице. Далее заготовим наше меню ссылок.
Структура меню ссылок:
<nav id="menu"> <ul> <li><a href="#ex1">Link #1</a></li> <li><a href="#ex2">Link #2</a></li> <li><a href="#ex3">Link #3</a></li> <li><a href="#ex4">Link #4</a></li> </ul> </nav>
Тут стоит отметить, что у тега nav присвоен атрибут id=menu, а так же каждой ссылке с атрибутом href в меню указано имя якоря.
Блоки, на которые ссылаются якорные ссылки:
<div id="content"> <section id="ex1"> ... </section> <div class="separator"></div> <section id="ex2"> ... </section> <div class="separator"></div> <section id="ex3"> ... </section> <div class="separator"></div> <section id="ex4"> ... </section> </div>
Каждому блоку присвоен уникальный атрибут id, по которому и будет производиться поиск и перемещение к закладке на странице.
Теперь код самого скрипта обработчика:
$(document).ready(function(){ $("#menu").on("click","a", function (event) { // исключаем стандартную реакцию браузера event.preventDefault(); // получем идентификатор блока из атрибута href var id = $(this).attr('href'), // находим высоту, на которой расположен блок top = $(id).offset().top; // анимируем переход к блоку, время: 800 мс $('body,html').animate({scrollTop: top}, 800); }); });
Подобная анимация прокрутки на странице оставляет положительные впечатление у пользователей при серфинге по странице. Поэтому если вам нужно сделать навигацию по странице более наглядной, то вы можете вполне воспользоваться такой фишкой у себя на сайте.
Пример работы скрипта, а так же его исходник.