Главная - Мобильные уст-ва
Как поднять страницу в верх. Создаем кнопку «Наверх» или Scroll to Top на jQuery

| 09.10.2014

Кнопка «Наверх» очень часто используется на сайтах, где есть много длинных страниц. Когда пользователь, просматривая большую статью, галерею картинок, новости в социальных сетях и т. п., хочет вернуться к началу страницы, он либо долго скроллит (что не очень удобно), либо нажимает клавишу Home на клавиатуре, либо пользуется специальной кнопкой «Наверх».

Преимущество этой кнопки заключается в том, что она может работать на планшетах и смартфонах, и в любых других случаях, когда у вас нет под рукой клавиатуры. К тому же, не все пользователи могут знать о полезной функции клавиши Home, а кнопка на сайте всегда видна, по ней сразу видно, для чего она предназначена. Второй плюс – эту кнопку можно усовершенствовать и сделать так, чтобы она возвращала пользователя к тому месту страницы, откуда он поднялся наверх. Именно этот вариант кнопки мы будем сегодня делать. Вы можете просмотреть демо, а также скачать файл с примером на свой компьютер.

Шаг 1. CSS

Та часть CSS, которая касается стиля кнопки, выглядит следующим образом:

InTop { position: fixed; left: 0px; top: 0px; width: 20%; height: 100%; opacity: 0.5; filter: alpha(opacity=50); cursor: pointer; display: none; } .inTop:hover { background-color: #f5f4f4; opacity: 1; filter: alpha(opacity=100); } .inTop span { display: block; width: 100%; margin-top: 20px; text-align: center; font-size: 110%; color: #52466a; font-family: Georgia, Times, serif; font-weight: bold; }

Шаг 2. JavaScript

Следующий шаг – код JavaScript. Для удобства внутри добавлены комментарии с пояснениями:

// объявление переменных: var BottomPosition = 0; // положение страницы var BottomFlag = false; // флаг для отображения кнопки GO TO BOTTOM var AnimateFlag = false;// Флаг для выполнения анимации $(document).ready(function() { $(".inTop").click(function() { // клик по кнопке GO TO TOP/GO TO BOTTOM AnimateFlag = true; // выполняется анимация if(BottomFlag) { // если нажата кнопка GO TO BOTTOM... $("body,html").animate({"scrollTop":BottomPosition}, 200, function() { // ...происходит возврат в нужное место страницы со скоростью 200 AnimateFlag = false; // закончилось выполнение анимации }); BottomFlag = false; // заменяем кнопку $(".inTop span").html("GO TO TOP"); } else { // если нажата кнопка GO TO TOP... $("body,html").animate({"scrollTop":0}, 200, function() { // ...происходит возврат в начало страницы со скоростью 200 AnimateFlag = false; }); BottomPosition = $(window).scrollTop(); // запоминаем, до какой позиции была прокручена страница BottomFlag = true; // показываем кнопку GO TO BOTTOM $(".inTop span").html("GO TO BOTTOM"); } }); // осуществляем проверку при прокручивании страницы: $(window).scroll(function(event) { var countScroll = $(window).scrollTop(); if (countScroll > 200 && !AnimateFlag) { // если пользователь промотал более 200 пикселей... $(".inTop").show(); // ...показываем кнопку GO TO TOP if(BottomFlag) { BottomFlag = false; $(".inTop span").html("GO TO TOP"); } } else { if(!BottomFlag) { $(".inTop").hide(); // в других случаях прячем кнопку, если только это не кнопка GO TO BOTTOM } } }); });

Шаг 3. HTML

Осталось дело за малым – создать кнопку в HTML:

GO TO TOP

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

Желаем вам творческих успехов и довольных пользователей!

Такая функция, как кнопка "вверх" для сайта, делает интернет-ресурс более удобным для его посетителей. Она помогает с легкостью переместиться из любой точки страницы в ее верхнюю часть. Это просто необходимо для интернет-магазинов и сайтов с большими статьями, требующими долгой прокрутки вниз.

Для чего это необходимо

На данный момент на большинстве сайтов такой функции, как кнопка «вверх», нет, и в этом нет ничего критичного. Но ее использование может принести много плюсов как для интернет-ресурса, так и для его посетителей.

Польза для посетителей

Часто бывает, когда страница интернет-ресурса сильно нагружена объемом информации, когда информационная статья занимает много места и приходится прокручивать страницу вниз при помощи колесика мыши. В плюс к этому, в конце статьи может присутствовать множество комментариев к ней.

Когда посетитель читает статью, ничего утомительного в прокрутке вниз страницы нет, но когда текст подошел к концу и надо перемещаться вверх, то это начинает немного утомлять. Большинству людей будет просто лень вести долгую прокрутку, и они просто закроют сайт, вместо того чтобы еще прогуляться по его просторам.

Использование кнопки для мгновенного перемещения к верху страницы делает времяпрепровождение на сайте более удобным.

Польза для интернет-ресурса

Положительные стороны для самого ресурса исходят из прошлых факторов, ведь упрощенное перемещение по сайту улучшает поведенческие факторы, так как все посетители будут более активны в своих действиях и перейдут на другие страницы.

Тем самым данные влияют на отношение всех поисковиков к сайту и приводят к улучшению места в поисковой выдаче.

Как сделать кнопку "вверх" на сайте самостоятельно

  • создание изображения;
  • создание скрипта;
  • создание стиля кнопки;
  • добавление на сайт.
Изображение кнопки

Чтобы добавить кнопку "вверх" на сайте, для начала потребуется сделать саму иконку, при нажатии на которую пользователь переместится вверх страницы. Для этого можно использовать готовые варианты, среди которых всегда можно подобрать наиболее подходящий.

Чтобы улучшить вид кнопки, необходимо сделать некоторые доработки, а именно сделать спрайт, позволяющий на основе CSS объединить фоновые картинки, тем самым сотворив из них анимацию.

Для графических работ можно воспользоваться любым редактором. Но самым удобным вариантом будет онлайн-сервис PIXLR, так как скачивать здесь ничего не нужно и можно пользоваться им прямо в браузере.

Для начала работы в появившемся окне редактора нужно выбрать поле «Загрузить изображение с компьютера». В качестве примера возьмем изображение ракеты.

Если габариты выбранной иконки слишком велики, то потребуется сделать небольшую корректировку размеров. Для этого необходимо перейти в верхнее меню и выбрать поле «Редактировать», а после «Free transform…»

Далее рядом с картинкой появляются специальные маркеры, перемещая которые, можно изменить размер изображения. Для сохранения пропорций можно использовать клавишу Shift, зажав которую, нужно перемещать голубые маркеры. В конце данных действий получается изображение ракеты.

Следующее действие - создание копии слоя.

Теперь необходимо переместить картинку ракеты из нового слоя немного вверх. Для этого будет удобно использовать инструмент перемещения, который располагается во второй колонке левого меню, и стрелку «вверх» на клавиатуре.

Теперь нужно сделать верхнюю картинку черно-белой. Это можно сделать при помощи пункта «Коррекция» - «Цветовой тон/Насыщенность» в верхнем меню. Для полного обесцвечивания ползунок «Насыщенность» должен принять значение -100. Данное действие позволит сделать эффект, при котором кнопка «Вверх» будет превращаться из черно-белой в цветную при наведении на нее.

Последний штрих - удаление лишнего пространства вокруг двух картинок. Для этого выбираем пункт «Обрезка» из левого меню и выделяем в прямоугольник лишь две ракеты. Для совершения обрезки нажимается клавиша Enter.

Получилось изображение, в котором нет лишнего свободного пространства. Потребуется записать значения ширины и высоты получившейся картинки, так как эти данные будут полезны на следующем шаге.

Для сохранения нужно нажать на «Файл» - «Сохранить», где в левом пункте «Мой компьютер» записываем имя изображения (только английская раскладка), выбираем формат (в данном случае - PNG) и нажимаем кнопку «Да».

Файл со скриптом кнопки «вверх»

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

Для этого потребуется скачать любой редактор кода. Самый популярный и к тому же бесплатный вариант - это Notepad ++. После его установки нужно скопировать и вставить в него весь данный код:

$(document).ready(function(){ $(window).scroll(function () {if ($(this).scrollTop() > 0) {$("#scroller").fadeIn();} else {$("#scroller").fadeOut();}}); $("#scroller").click(function () {$("body,html").animate({scrollTop: 0}, 400); return false;}); });
Установка на сайт

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

Создание стиля кнопки в CSS

Чаще всего кнопка "вверх" для сайта располагается в нижней части («подвале»).

В файл style.css сайта необходимо внести следующий код:

В данном случае и понадобятся те данные ширины и высоты изображения. Осталось лишь ввести полученные данные в код, и кнопка "вверх" для сайта будет готова! Что еще?

Кнопка "вверх" для сайта на Wordpress

Для данной CMS кнопку «Вверх» можно сделать при помощи плагинов, а также самостоятельно.

Способ с плагинами наиболее удобен и прост в установке, так как для этого потребуется лишь нажать на кнопку установки и настроить весь функционал в меню плагина.

К выбору последнего стоит подойти с осторожностью, так как вместе с ним можно будет легко приобрести вирус на сайт. Наиболее популярный и проверенный вариант - это плагин под названием Scroll Back To Top. Загрузить его можно при помощи стандартного поиска плагинов Wordpress.

Данное расширение обладает множественным функционалом, и будет очень просто индивидуализировать кнопку "вверх" для сайта на Wordpress. Все значения изменять совсем не обязательно, потребуется настроить только вид и местоположение кнопки на странице сайта.

Как видно, установка кнопки «вверх» при помощи плагинов очень проста. Но существует один важный нюанс, заключающийся в том, что каждый установленный плагин нагружает CMS. Это может сказаться на быстродействии интернет-ресурса. Именно поэтому большая часть владельцев сайтов стараются выполнять все изменения непосредственно в коде, а не при помощи сторонних расширений. Можно сделать кнопку "вверх" для сайта на HTML, что максимально сократит потребляемые ресурсы.

Перед изменением всех системных файлов Wordpress необходимо сделать их резервные копии. Далее можно руководствоваться всеми шагами по созданию своей кнопки, описанными выше.

Кнока "вверх" для Joomla

CMS Joomla также поддерживает установку плагинов, как и Wordpress. Наиболее удачным вариантом кнопки "вверх" для сайта на Joomla 3 является расширение под названием Top of the Page.

В данной CMS любой плагин может быть установлен через «Менеджер расширений». Для этого необходимо:

  • скачать плагин в интернете;
  • нажать на кнопку «Обзор» в менеджере расширений;
  • выбрать скачанный архив;
  • нажать "Загрузить" и установить.

Теперь необходимо его активировать в «Менеджере плагинов». Для этого необходимо перейти в данный раздел, найти плагин и переключить его состояние на «включено».

Top of the Page имеет следующий функционал:

  • Run in/ administrator - включение опции не только на интернет-ресурсе, но и в самой панели CMS Joomla.
  • Button Reveal Position - сколько пикселей должен отмотать пользователь для того, чтобы кнопка «вверх» появилась.
  • Omit Button Text - наличие текста на кнопке.
  • Always at Top - страница сайта все время будет отображаться с ее начала. При использовании «якорей» для прокрутки в определенное место на странице данную опцию не нужно активировать.
  • Smooth Scroll - делает прокрутку страницы более плавной.
  • Scroll Duration - время, через которое страница полностью переместится в начало.
  • Scroll Transition - добавляет прокрутке больших визуальных эффектов.
  • Transition Easing - «ослабление» перемещения к верху страницы.
  • Link Location - местоположение иконки. По стандарту, кнопка располагается в правом нижнем углу.
  • Use Styles - индивидуальный стиль кнопки, который можно задать в поле, расположенном ниже. Если переключено на отрицательное значение, то все параметры стилей будут браться из активной темы сайта.
  • Link Style - поле для вписывания своих параметров стиля кнопки.

Для самостоятельной настройки стиля кнопки «вверх» необходимо обладать хотя бы минимальными знаниями CCS. В противном случае стоит переключить значение предпоследнего параметра на «Нет».

Еще один важный нюанс заключается в том, что обычная надпись на иконке содержит англоязычный текст: Return to Top. На русскоязычном сайте подобный текст присутствовать не может, поэтому стоит просто отключить его в параметрах плагина либо изменить на русский.

Для изменения данной надписи необходимо зайти на сервер сайта при помощи FTP или встроенного в хостинге файлового менеджера. Далее в директории «/administrator/language/en-GB/» нужно найти файл под названием «en-GB.plg_system_topofthepage.ini».

Перед изменением текста стоит изменить кодировку данного документа на UTF-8. Это позволит сделать нормальное отображение русских букв.

" PLG_SYS_TOPOFTHEPAGE_GOTOTOP="Return to Top" "

и изменяем фразу в кавычках на русскоязычную. Можно использовать такие фразы, как «Вверх!», «В начало!» или «Наверх!».

Кнопка "вверх" для Ucoz

Кнопку "вверх" для сайта на Ucoz придется делать с помощью внедрения кода, так как подключение плагинов для данной CMS невозможно. Однако для этого не потребуется долго изучать файлы системы и искать необходимые строки, потребуется лишь вставить небольшой код в необходимое место.

Для установки нам потребуется:

  • перейти в «Панель управления -> Дизайн -> Управление дизайном (шаблоны) -> Нижняя часть сайта;
  • вставить скрипт (можно найти на официальном сайте проекта и сторонних ресурсах).
Заключение

После этого в нижнем правом углу появится иконка, перемещающая пользователя к самому верху страницы.

Как было видно, установка кнопки «Вверх» для любой из CMS не была особо трудной. Можно использовать как автоматизированный способ установки (плагины), так и ручной. Однако последний вариант остается наиболее подходящим, так как не оказывает негативного влияния на быстродействие сайта.

Можно использовать кнопку "вверх" для сайта на HTML, чтобы максимально сократить потребление ресурсов сайта, так как большое число расширений может оказать негативное влияние на быстродействие ресурса. Один плагин кнопки "вверх" не сможет сильно повлиять на время загрузки страниц сайта, но в большинстве случаев у пользователя присутствует как минимум десяток плагинов, установленных на CMS. В данном случае любой плагин может негативно повлиять на быстродействие страниц сайта.

Ах, как быстро привыкает человек к удобству, независимо, где он находится: дома или на сайте! Не знаю как вы, но я привык пользоваться кнопкой «Наверх» , а особенно это удобно, когда статья больших размеров.
Итак, в этой статье я расскажу, как сделать кнопку «Наверх» для сайта , используя библиотеку jQuery.

1. Подключим библиотеку jQuery. Кстати, об этом я писал недавно .
Добавьте между тегами … вот этот код:

2. Добавляем между тегами саму кнопку-ссылку «Наверх»:

наверх наверх

и сразу после кнопки «Наверх» добавьте код JavaScript:

$(function() { $(window).scroll(function() { if($(this).scrollTop()>100) $("a#move_up").fadeIn(); else $("a#move_up").fadeOut(400); }); $("a#move_up").click(function(){ $("body,html").animate({scrollTop: 0}, 450); return false; }); });

Обратите внимание на строку №6 , там есть цифра 100 – она указывает, через какое количество слов должна появляться кнопка «Наверх». Вы можете указать любую другую подходящую для вас цифру.
В строке №11 есть цифра 450 – указывает скорость подъема страницы. Вы можете тоже указать свою цифру. Чем выше цифра, тем медленнее страница поднимается наверх, чем меньше цифра, тем быстрее страница окажется наверху.

3. Теперь добавьте код CSS. Кто не знает, как подключить CSS к HTML файлу, почитайте об этом тут.

A#move_up { position:fixed; /* фиксированное положение блока*/ top:8px; right:20px; width:56px; height:20px; display:none; text-align:center; font:12px Arial,Verdana,sans-serif; color:#fff; background:#3366ff; padding-top:5px; /*прозрачность*/ opacity:0.7; filter:alpha(opacity=70); border-radius: 2px; text-decoration:none; } a#move_up:hover { opacity:0.9; filter: alpha(opacity=90); }

Вот это и все. Вот так выглядит полностью готовый код:

a#move_up{ position:fixed; /* фиксированное положение блока*/ top:8px; right:20px; width:56px; height:20px; display:none; text-align:center; font:12px Arial,Verdana,sans-serif; color:#fff; background:#3366ff; padding-top:5px; /*прозрачность*/ opacity:0.7; filter:alpha(opacity=70); border-radius: 2px; text-decoration:none;} a#move_up:hover{ opacity:0.9; filter: alpha(opacity=90);} Ваш текст (желательно больше текста) наверх $(function() { $(window).scroll(function() { if($(this).scrollTop()>100) $("a#move_up").fadeIn(); else $("a#move_up").fadeOut(400); }); $("a#move_up").click(function(){ $("body,html").animate({scrollTop: 0}, 50); return false; }); });

Теперь при прокрутке страницы вниз будет появляться небольшой синий полупрозрачный блок с надписью «Наверх».

Кнопка «Вверх к началу» - это то, что многие из вас, вероятно, видели на многих веб-сайтах. Это стрелка, которая появляется в правом нижнем углу веб-страницы при ее прокрутке. Когда вы нажимаете, она возвращает вас к началу страницы. Если вы хотите добавить кнопку «Наверх» в процессе разработки сайта, или просто интересуетесь, как вы можете создать её самостоятельно, добро пожаловать на борт!

Вернуться наверх

Наш код будет состоять из двух частей, стилей CSS и маленького скрипта jQuery. Давайте начнем с CSS.

CSS стили для кнопки

Мы начнем с создания стилей и разметки для нашей кнопки. Вот часть HTML:

< link rel = "stylesheet" href = "https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css" >

< a id = "button" >

Кнопка будет состоять только из одного якорного тега с id кнопка . Мы также включаем ссылку на библиотеку FontAwesome, чтобы можно было использовать значок для нашей кнопки.

Начальные стили для кнопки будут выглядеть так:

#button { display: inline-block; background-color: #FF9800; width: 50px; height: 50px; text-align: center; border-radius: 4px; margin: 30px; position: fixed; bottom: 30px; right: 30px; transition: background-color .3s; z-index: 1000; } #button:hover { cursor: pointer; background-color: #333; } #button:active { background-color: #555; }

Поскольку кнопка является элементом связки, а связки по умолчанию являются встроенными элементами, нам нужно изменить свойство display на встроенный блок, чтобы мы могли назначать ему размер.

Давайте сделаем квадратную кнопку 50х50 px с закругленными углами в 4px. Мы придадим ей ярко-оранжевый цвет и по 30px с каждой стороны. Фиксированная позиция всегда позволяет нашей кнопке оставаться в том же месте, когда мы прокручиваем страницу, а z-index очень большого значения, что кнопка всегда перекрывает другие элементы веб-сайта. Когда мы наводим курсор на кнопку, курсор меняется на указатель, а фон становится темно-серым. Чтобы сделать переход плавным, мы назначим переход на 0,3 секунды для свойства background-color . Также, когда мы нажимаем кнопку, цвет фона также изменяется и становится немного светлее.

Добавляем иконку

Сейчас наша кнопка пустая, давайте добавим на неё иконку. Мы делаем это, добавляя ::after псевдо=элемент типа этого:

#button::after { content: "\f077"; font-family: FontAwesome; font-weight: normal; font-style: normal; font-size: 2em; line-height: 50px; color: #fff; }


Мы собираемся выбрать значок из самой популярной библиотеки шрифтов FontAwesome . Начнем с иконкой Chevron Up .

Чтобы отобразить её в псевдоэлементе, установите значение FontAwesome для тега font-family и назначьте значение Unicode для вашего значка в content .

Также убедитесь, что высота вашей линии равна высоте вашего значка, если вы хотите, чтобы он был центрирован по горизонтали.

Добавляем функциональность с jQuery

В этом подразделе мы поговорим о том, как собственно сделать кнопку рабочей. Самый простой способ это сделать - использовать JavaScript библиотеку jQuery. Для начала нам нужно добавить jQuery в HTML разметку. Добавьте эту строку прямо перед тем как закрыть тег body.

< script src =" https: // cdnjs . cloudflare . com / ajax / libs / jquery /3.1.1/ jquery . min . js" >

Сейчас мы можем написать наш скрипт используя синтаксис jQuery. Добавьте этот скрипт после строки jQuery:

jQuery(document).ready(function() { var btn = $("#button"); $(window).scroll(function() { if ($(window).scrollTop() > }); btn.on("click", function(e) { e.preventDefault(); $("html, body").animate({scrollTop:0}, "300"); }); });

Давайте поближе посмотрим на этот скрипт. Вы, наверно, заметили первую строку кода:


jQuery(document ).ready(function () {

Запускать код внутри этой функции стоит только в том случае, если документ полностью загружен. Это отличный способ предотвратить ошибки, если ваш код JavaScript хочет внести изменения в части веб-страницы, которые не полностью загружены в браузере. Код, который мы запускаем после документа, полностью загружен и состоит из двух основных блоков кода, каждый из которых выполняет свою собственную работу. Первая часть скрипта заставляет нашу кнопку появляться и исчезать после того, как прокрутка страницы достигает определенной точки. Вторая часть делает прокрутку страницы вверх после нажатия на кнопку. Давайте рассмотрим каждый из них подробно.

Появление и исчезновение кнопки

Вот код, который отвечает за эту функцию:

Var btn = $("#button"); $(window).scroll(function() { if ($(window).scrollTop() > 300) { btn.addClass("show"); } else { btn.removeClass("show"); } });

Сначала мы объявляем переменную btn и назначаем ей ID button , так что нам будет легче обратиться к нему позже в коде. Также это помогает JavaScript быстрее выполнять вычисления. Как только мы сохраним элемент в переменной, JavaScript не будет нуждаться в поиске по всей странице много раз, когда нам нужно будет использовать ее снова в нашем коде.

В jQuery есть удобная функция .scroll() .

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

$ (window ). scroll (function () {

Внутри функции мы постелили утверждение if/else:

If ($(window).scrollTop() > 300) { btn.addClass("show"); } else { btn.removeClass("show"); }

То, что мы пытаемся сделать здесь, это проверить вертикальное положение полосы прокрутки и сделать, чтобы наша кнопка появлялась, когда прокрутка ниже определенной точки, и исчезала, когда она находится выше этой точки.

Чтобы получить текущую позицию полосы прокрутки, мы собираемся использовать встроенный метод jQuery .scrollTop() . Он просто возвращает несколько пикселей, которые скрыты над прокручиваемой областью.

Таким образом, каждый раз, когда мы прокручиваем страницу, JavaScript проверяет, сколько пикселей скрыто, и сравнивает их с числом. В нашем случае это количество до 300, но вы можете изменить его, если хотите.

Если мы пройдем 300px, то мы добавим класс show к нашей кнопке, который заставит её появиться. Если число меньше 300, мы удаляем этот класс. Добавление и удаление классов является еще одной причиной популярности jQuery. Мы можем сделать это с помощью двух простых методов addClass() и removeClass() . Однако у нас пока нет класса show в нашем CSS, поэтому добавим его:

If ($(window).scrollTop() > 300) { btn.addClass("show"); } else { btn.removeClass("show"); }

По умолчанию ваша кнопка будет скрыта, поэтому нам нужно добавить еще несколько правил в элемент #button :

#button { transition: background-color .3s, opacity .5s, visibility .5s; opacity: 0; visibility: hidden; }

Чтобы сделать переход плавным, давайте добавим еще два значения в атрибут перехода, непрозрачность и видимость, установленные на 0,5 секунды.

Подъём наверх

Вторая часть скрипта позволяет вам подняться наверх, после нажатия на кнопку.

Btn.on("click", function(e) { e.preventDefault(); $("html, body").animate({scrollTop:0}, "300"); });


Первый метод jQuery, который мы видим здесь это on() . Его первым параметром является «click» JavaScript-событие, которое происходит каждый раз, когда мы кликаем мышей в нашем браузере. Второй параметр - это функция обработки, которая запускается, как только происходит событие.

Функция обработки принимает параметр события. Мы можем назвать все, что захотим, но обычно предпочтительнее e или event . Нам нужен параметр события, чтобы передать его функции и использовать для метода preventDefault() .

Метод e.preventDefault() предотвращает случайное действие события, например, ссылка не приводит нас к следующей странице. В нашем случае это не имеет решающего значения, поскольку наш якорный элемент не имеет атрибута href и в любом случае не приведет нас к новой странице, но всегда лучше дважды проверить.

Метод jQuery .animate() - это тот, который выполняет весь трюк.

$("html, body").animate({scrollTop:0}, "300");

Первый параметр метода .animate() - это список свойств, которые мы должны анимировать. Наше свойство называется scrollTop , и мы хотим, чтобы оно имело значение 0 . Тип этого параметра является простым объектом, поэтому нам нужно использовать фигурные скобки и записывать наши значения, используя синтаксис парой ключ / значение.

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

Наконец, мы применяем метод animate к HTML и элементам body на нашей странице.

Теперь каждый раз, когда мы нажимаем кнопку, это возвращает нас в начало страницы.

Демо

Финальную версию вы можете посмотреть в демо CodePen . Я также добавила примеры текста для демонстрации.

Посмотрите на код кнопки «Наверх» Мэтью Кейна (@matthewcain ) на CodePen .

Завершение

Кнопка «Наверх» полезный инструмент в дизайне интерфейса страницы. И если на вашем сайте будет такая, она сделает взаимодействие посетителей с сайтом намного удобнее. Этот гайд поможет вам разобраться в CSS и JavaScript, даже если вы не веб-разработчик. Надеюсь, что пост был вам полезен и у вас непременно получится сделать такую кнопку!

Приветствую дорогие друзья. Сегодня я покажу, как сделать кнопку наверх на сайте. Так уж получилось, что шаблон моего блога не был изначально снабжен этой полезной функцией, и посетители не могли быстро переместиться из нижней части статьи в верхнюю. Поэтому, одновременно с созданием такой кнопки у себя, я расскажу как это сделать вам (Может быть у вас такая же проблема и вы не знали как ее решить).

В статье будут следующие части:

Для чего нужна эта кнопка?

Сказать откровенно, миллионы живут без подобной кнопки. Ничего критичного в её отсутствии нет, но применение этого элемента может принести определенную пользу, как для посетителей, так и для вас, как для владельца ресурса.

Польза для посетителей

Страницы сайтов нередко перегружены контентом. Длинные и подробные статьи заставляют посетителей спускаться все ниже и ниже, прокручивая текст колесиком мыши. В самом конце их ожидают еще и десятки комментариев и для того, чтобы добавить свои, им приходится проделать еще больше работы.

Пока мы заняты чтением, такая прокрутка не особо утомляет. Но возвращаться назад уже не так весело и, вместо того, чтобы вернуться вверх и погулять по другим разделам вашего сайта, пользователь просто закрывает его.

Использование стрелки вверх для сайта, позволяет сделать возвращение к верхнему меню быстрым и комфортным.

Польза для сайта

Польза для сайта вытекает напрямую из предыдущего текста. Кнопка упрощает навигацию по страницам и улучшает поведенческие факторы для вашего ресурса, так как пользователи ведут себя более активно и больше внимания отдадут вашим материалам.

В свою очередь, удобная навигация и хорошие поведенческие факторы приводят к росту авторитета в глазах и, соответственно, к росту позиций в результатах поиска.

Простая кнопка наверх для сайта html

Я рассмотрю два способа снабдить ваш сайт такой кнопкой. Первый будет ориентирован на простые сайты, для которых нет возможности или желания подключать какие-либо дополнительные библиотеки или Javascript.

Для реализации будет достаточно стандартного функционала языка разметки HTML, дополненного CSS стилями. Кнопка вверх будет действовать как обычная ссылка, отправляющая посетителя к началу страницы.

Достоинства:

  • Простота и легкость настройки;
  • Не нужна поддержка библиотек и скриптов.

Недостатки:

  • Кнопка видна постоянно, даже когда посетитель находится в самом верху страницы;
  • Перемещение вверх происходит не плавно, а мгновенно, рывком.

Код кнопки будет состоять из двух элементов. Первый – это HTML ссылка, размещаемая в коде сайта. Второй – это CSS стиль кнопки, он размещается в файле стилей и отвечает за расположение кнопки и ее внешний вид.

Следующий код разместите внутри тела сайта (внутри тега body, лучше, прямо перед его закрытием). Обратите внимание, что вам потребуется картинка, которая послужит кнопкой (замените участок кода на ваш путь к картинке и ее название).

Buttonup { width:88px; height:118px; position:fixed; bottom:20px; right:50px; }

Этот код отвечает за положение кнопки, редактируя цифры, вы можете его изменить. Как только вы сохраните файл, кнопка начнет действовать. Параметр width ставьте равным ширине картинки, bottom – отступ от нижнего края экрана, right – от правого края экрана.

Плавающая кнопка наверх для сайта

Итак, друзья, простую кнопку на HTML мы с вами сделали, теперь давайте займемся реализацией более продвинутой версии. В ней мы избавимся от тех недостатков, которые присутствовали в предыдущем варианте, а именно:

  • Кнопка не будет постоянно маячить перед глазами, а появится только тогда, когда посетитель пролистает страницу вниз;
  • Эффект возвращения наверх страницы будет плавным, что выглядит стильно;
  • Кроме того, наша кнопка будет меняться при наведении курсора (менять цвет или яркость).

Существует масса способов и скриптов, позволяющих сделать кнопку вверх. Признаюсь честно, я не программист и, если в предыдущем варианте с HTML я разобрался, то в JavaScript я полный чайник. Поэтому я просмотрел и изучил кучу разных версий и выбрал для себя вариант, который проще всего реализовать (меньше изменений в разных файлах).

В целом, процесс создания такой кнопки чуть-чуть сложнее, но разобраться с ним может каждый. Делается все в 2 этапа:

1. Подключение библиотеки jQuery

Если вы используете WordPress или другую стандартную CMS, то эта библиотека, скорее всего, подключена по умолчанию. В таком случае, этот пункт вы можете пропустить.

Для подключения библиотеки jQuery, вам нужно прописать в разделе вашего сайта следующую строку:

2. Подключение скрипта, выводящего кнопку

Код скрипта можно вставить двумя способами:

  • либо поместить его целиком между тегами ,
  • либо разместив скрипт в отдельном фале, а в коде страницы прописать его подключение.

Первый вариант проще, второй, на мой взгляд, удобнее.

jQuery(document).ready(function($){ $(""+ "..png) 0 0 no-repeat; }" + ".scrollTop:hover{ background-position:0 -133px;}" +"").appendTo("body"); var speed = 550, $scrollTop = $("").appendTo("body"); $scrollTop.click(function(e){ e.preventDefault(); $("html:not(:animated),body:not(:animated)").animate({ scrollTop: 0}, speed); }); //появление function show_scrollTop(){ ($(window).scrollTop() > 330) ? $scrollTop.fadeIn(700) : $scrollTop.fadeOut(700); } $(window).scroll(function(){ show_scrollTop(); }); show_scrollTop(); });

Если вы будете использовать для скрипта отдельный файл, как это сделал я, то в него помещаете код, находящийся между тегами , сами теги копировать в файл не нужно. Файл размещаете у себя на хостинге.

Я назвал файл buttonup.js. Для его подключения в заголовке сайта прописываем вот такую строчку:

Вместо «путь к файлу» прописываете адрес, где лежит ваш файл со скриптом.

Картинка для кнопки

Для того, чтобы изображение кнопки менялось, файл картинки должен состоять из двух половинок, на одной изображается обычная стрелка, на другой активная стрелка (под наведенным курсором). Посетителю одновременно показывается только одна половина. У меня верхняя стрелка сделана полупрозрачной, вторая непрозрачная (яркая).

Заданные цифры приведены для картинки размером 88 на 250 пикселей (каждая стрелка сделана по 125 пикселей в высоту). Если вы будете использовать другое изображение, то изменяете в коде значения width и height на свои.

Значение background-position – это смещение картинки, его делаете чуть больше половины всей высоты изображения.

Bottom – это отступ от нижнего края экрана. Left – отступ от левого края экрана, здесь он задан в процентах, а можно задать в пикселях, как это было в примере с HTML. Там параметр right (отступ справа) был задан в пикселях.

Код можно упростить, если удалить из него вот эту строку:

+ ".scrollTop:hover{ background-position:0 -133px;}"

Она отвечает за изменение отображаемой части картинки при наведении курсора и если ее убрать, то кнопка всегда будет выглядеть одинаково. В этом случае вам не нужна будет картинка с двойным изображением, поставьте любую стрелку.

Несколько вариантов стрелок я сделал, а в интернете вы можете отыскать много готовых.

Как видите, несложно. На этом на сегодня все.



 


Читайте:



Huawei TalkBand B3 — умный браслет от китайского гиганта электроники А конкуренты есть

Huawei TalkBand B3 — умный браслет от китайского гиганта электроники А конкуренты есть

Под наше пристальное внимание попал уникальный гаджет от компании Huawei. Новое устройство сложно отнести к какому-то определенному типу...

Undelete Navigator Как восстановить файлы после удаления Навигатор престижио после перепрошивки зависает

Undelete Navigator Как восстановить файлы после удаления Навигатор престижио после перепрошивки зависает

Нынешняя ситуация на дорогах страны весьма критична: повсеместные пробки, постоянные дорожно-транспортные происшествия и многое другое. В связи с...

Обзор бесплатной версии Droid4X

Обзор бесплатной версии Droid4X

Вы слышали о телефонах Android, но знаете ли вы, что можете установить всю операционную систему Android прямо на свой компьютер? Возможно, у вас...

Несколько слов о майнинге криптовалюты EXP (Expanse)

Несколько слов о майнинге криптовалюты EXP (Expanse)

Подробности Опубликовано: 12.02.2016 08:04 Многие майнеры постоянно находятся в поиске выгодных криптовалют для майнинга, тратя на это занятие...

feed-image RSS