Плавное поднятие страницы вверх. Создаем кнопку «Наверх» или Scroll to Top на jQuery. Для чего нужна эта кнопка

12.02.2024

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

Под каждым примером с картинкой вы найдете код (скрипт), который надо вставить перед закрывающимся тегом ""


Три небольших момента для корректной установки:

  • Кодировка сайта должна быть в UTF-8 , если будет другая то вместо русских букв - будут непонятные крякозяблики
  • Надо чтобы на сайте была подключена библиотека jquery . Подключить ее можно вставив в шаблоне сайта перед"" следующий код:
  • Если у вас на сайте в дизайне прописан z-index (признак - не видно картинку {или видно, но только на некоторых участках сайта}), вам надо прописать в стилях к сайту следующую строчку: #topcontrol{z-index: 9999;}
  • Если нужно изменть положение картинки то воспользуйтесь стилем margin: #topcontrol{margin-bottom: 50px;}
  • Js">

    Js">

    Js">

    Js">

    Js">

    Js">

    Js">

    Js">

    Js">

    0.js">

    1.js">

    2.js">

    3.js">

    4.js">

    Js">

    6.js">

    7.js">

    8.js">

    9.js">

    0.js">

    1.js">

    2.js">

    3.js">

    4.js">

    5.js">

    6.js">

    7.js">

    Простая кнопка "Наверх" без JavaScript

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

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

    В стили вашего сайта, обычно они находятся в файле style.css надо вставить: .topbutton { width:100px; border:2px solid #ccc; background:#f7f7f7; text-align:center; padding:10px; position:fixed; bottom:50px; right:50px; cursor:pointer; color:#333; font-family:verdana; font-size:12px; border-radius: 5px; -moz-border-radius: 5px; -webkit-border-radius: 5px; -khtml-border-radius: 5px; }

    Недостатки:

    Кнопки сделанные с применением JavaScript могут быть плавающими и появляться сразу как только пользователь спустился немного в низ по странице, а в приведенном примере она будет отображаться постоянно.

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

    Плюсы данного вида кнопки:

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

    Кнопки прокрутки вверх и вниз на JQUERY

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

    • Название: Кнопки прокрутки вверх и вниз на JQUERY
    • Ссылка: 57.72 KB
    • Формат: ZIP архив

    В скачанном архиве будут находится все файлы необходимые для функционирования кнопки. Это CSS, JS файлы и файлики изображений стрелок.

    Кнопка плавной прокрутки вверх при помощи JQuery

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

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

    Теперь разберемся, что нужно сделать для подключения кнопки к сайту

    Изображение:

    Вам понадобится изображение самой кнопки можете взять любое, а можете использовать вот это:

    HTML код:

    Для вызова кнопки после основного контента страницы или перед тегом разместите следующий HTML код:

    CSS стили:

    Scrollup{ width:40px; height:40px; opacity:0.3; position:fixed; bottom:50px; right:100px; display:none; text-indent:-9999px; background: url("icon_top.png") no-repeat; }

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

    Для начала подключаем библиотеку, если она еще не подключена для вашего сайта. Для этого между тегами ...? вставляем следующее:

    Затем сразу после подключения библиотеки необходимо расположить следующий код JQuery:

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

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

    Спасибо, что заглянули на мой блог. Меня зовут Богдан, я живу в Алма-Ате (Казахстан). Давным-давно, еще в 7 классе школы началось мое увлечение программированием в целом (благодаря урокам Delphi на информатике). А в 9 классе в нашу школу пришел сисадмин, который оказался заядлым SEO-шником и вообще классным парнем, и он то и рассказал мне о WordPress, и о том, как можно зарабатывать деньги ведя свой блог в сети и продвигая его. Так и началось мое знакомство с WP и с темой заработка в сети.

    На этом блоге я не зарабатываю, он просто создан как хранилище полезных фишек, которые я нахожу в процессе работы. А зарабатываю я веб-разработкой в стиле "фриланс", в которой неплохо продвинулся за последние годы. Пробовал разные технологии, но больше всего люблю писать back-end (внутреннюю логику) приложений на PHP и JS. Ну и конечно, пишу дорогие и сложные плагины для любимого WP на заказ.

    Еще люблю воду, велосипед, лыжи и визуальную эстетику во всем.

    Примерно так же обычно пишут в разделе "Об авторе"?

    Хорошего дня вам!

    По многочисленным просьбам я написал урок по созданию перехода на верх страницы, как на сайте Web Designer Wall . Это очень просто сделать с помощью jQuery (каких-то пару строчек кода). Необходимо сравнить значение позиции верхней полосы прокрутки с определенным значением, и если первое из них больше, отобразить кнопку перехода на верх. Как только пользователь кликает по кнопке, производится переход на верх страницы.

    $(document).ready(function(){ // hide #back-top first $("#back-top").hide(); // fade in #back-top $(function () { $(window).scroll(function () { if ($(this).scrollTop() > 100) { $("#back-top").fadeIn(); } else { $("#back-top").fadeOut(); } }); // scroll body to 0px on click $("#back-top a").click(function () { $("body,html").animate({ scrollTop: 0 }, 800); return false; }); }); });

    А что, если JavaScipt не поддерживается?

    Заметьте, что кнопка перехода на верх ссылается на якорь #top, который является идентификатором тега body. В принципе, нет необходимости задавать какую-либо ссылку-якорь, так как jQuery позволяет прокручивать на любую часть страницы. Тем не менее лучше её все-таки задать на случай, если JavaScript не поддерживается в том или ином браузере.

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

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

    Кнопка наверх: HTML+CSS

    Преимущество данного способа - простота в использовании (не нужно использовать дополнительные библиотеки или скрипты).

    Кнопка наверх с помощью CSS - "Нубекс" .topNubex { position: fixed; right: 45px; bottom: 45px; } Вверх

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

    Кнопка наверх: JavaScript

    Приведенный ниже способ использует библиотеку JQuery. Он прост в использовании и позволяет сделать прокрутку страницы плавной.

    Кнопка "Вверх" при помощи JavaScript - "Нубекс" #topNubex { position: fixed; right: 45px; bottom: 45px; } $(function() { $(window).scroll(function() { if($(this).scrollTop() != 0) { $("#topNubex").fadeIn(); } else { $("#topNubex").fadeOut(); } }); $("#topNubex").click(function() { $("body,html").animate({scrollTop:0},700); }); });

    В этом примере в качестве фона кнопки используется картинка. Можно настроить отображение кнопки при помощи CSS-стилей (размер, цвет, обводка, прозрачность и т.д.). Таким образом, этот способ является более гибким и предоставляет больше возможностей при добавлении кнопки "Наверх" на сайт.

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

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

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

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

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

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

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

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

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

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

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

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

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

    Чтобы улучшить вид кнопки, необходимо сделать некоторые доработки, а именно сделать спрайт, позволяющий на основе 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. В данном случае любой плагин может негативно повлиять на быстродействие страниц сайта.

    Похожие статьи