Плавно перемещаем скролл к элементу

Можно сделать красивый якорь - т.е. плавное перемещение к любому DOM-элементу. Для этого сделаем такой скрипт:

$('a[href^="#"]').click(function() {
    $('html:not(:animated)' +( !$.browser.opera ? ',body:not(:animated)' : '')).animate({ scrollTop: $($(this).attr('href')).offset().top}, 1000 );
return false;
});

Этот код заменяет все якоря на плавные. Время перемещения до якоря - 1000 мс, вы, конечно же, можете легко поменять его.

$('element').offset().top - определить расстояние (высоту) от начала (самого верха) страницы до выбранного элемента.

Проверил работу в браузерах IE8, Chrome 19, Opera 12.00, Firefox 13.01. Везде хорошо работает.

И не забудьте подключить jQuery в блоке head!

<head>
...
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js">
...
</head>

Источники:
http://loco.ru/materials/96-jquery-scroll-to-top
http://api.jquery.com/offset/

javascript