Введение
Я раньше уже писал статью — Кнопка «наверх» для сайта как в ВКонтакте. Но прошло время и ВКонтакте кнопка обновилась, и добавился новый функционал, теперь появилась возможность кроме скроллинга вверх, еще и возвращаться назад к контенту. Нужно идти в ногу со всеми, и не отставать в развитии, поэтому я решил расширить свой старый код.
Для нетерпеливых я сделал пример, посмотреть его можно по этой ссылке.
Кнопка наверх и вниз для сайта как в ВКонтакте. Код
Теперь перейдем непосредственно к самому коду, тут ни чего сложного. Чтобы было понятней я подробно прокомментировал почти каждую строку.
Сначала css:
<style>
.in_top{
position: fixed;
left: 0px;
top: 0px;
width: 100px;
height: 100%;
opacity: 0.5;
filter: alpha(opacity=50);
cursor: pointer;
display: none;
}
.in_top:hover{
background-color: #E1E7ED;
opacity: 1;
filter: alpha(opacity=100);
}
.in_top span{
display: block;
width: 100px;
margin-top: 10px;
text-align: center;
color: #45688E;
font-weight: bold;
}
</style>
Теперь напишем js код, для работы кнопки:
// объявим переменные
var bottom_position = 0; // положение страницы
var flag_bottom = false; // флаг, для отображения кнопки "назад"
var flag_animate = false;// Флаг, определяющий, выполнение анимации
$(document).ready(function(){
// клик по кнопке вверх/назад
$('.in_top').click(function(){
// поднимаем флаг, началась выполнениние анимации
flag_animate = true;
// если на данный момент кнопка "назад"
if(flag_bottom){
// то скролим страницу в нужное место
$("body,html").animate({"scrollTop":bottom_position}, 300, function(){
// опускаем влаг анимации, она закончилась
flag_animate = false;
});
// меняем кнопку
flag_bottom = false;
$('.in_top span').html('↑ Наверх ↑');
}else{
// если кнопка "вверх"
$("body,html").animate({"scrollTop":0}, 300, function(){
flag_animate = false;
});
// запомним на сколько была прокручена страница
bottom_position = $(window).scrollTop();
// и зададим флаг, что нужно показать кнопку "назад"
flag_bottom = true;
$('.in_top span').html('↓ Назад ');
}
});
// делаем проверку при скролле
$(window).scroll(function(event){
var countScroll = $(window).scrollTop();
// если прокрутили больше 100 пикселей и анимация не выполняется, то показываем кнопку
if (countScroll > 100 && !flag_animate){
$('.in_top').show();
if(flag_bottom){
flag_bottom = false;
$('.in_top span').html('↑ Наверх ↑');
}
// иначе прячем кнопку, если это не кнопка "назад"
}else{
if(!flag_bottom){
$('.in_top').hide();
}
}
});
});
И все, что осталось — это кусочек html, непосредственно кнопка:
<div class="in_top"> <span>↑ Наверх ↑</span> </div>
Вот и все. Напоследок приложу ссылку на исходник — вот он.

Ошибка на главной странице. «Повещенном» веб-программированию
Спасибо, поправил
Установил на сайт Joomla. Есть только одно,НО, при наведении на саму надпись, скрипт не работает, в особенности когда нужно перейти вниз.
Автору спасибо. Особенно за комментарии в коде, все понятно объяснил. Скрипт работает как надо.
Супер спасибо большое!!!