Привет. Давно у нас не было каких-то полезностей на jQuery. Сегодня делаем скрипт прокрутка вверх на jQuery. Это нужно практически на каждом сайте, а использовать для этого сторонний плагин с горой ненужного кода – не очень хочется.
Если же сама тема создания сайта для вас не очень интересна, то создание сайта под ключ от профессионалов – отличное решение.
Как сделать скрипт прокрутка вверх на jQuery
Начнем с простого, HTML:
<div class='scrolltotop'></div>
Это код самой кнопки, который нужно добавить в HTML.
Перейдём к CSS, опишем стиль кнопки, сделаем её статично справа внизу, полупрозрачной, с тенью, круглой и чтобы при наведении она становилась более заметной.
Как видите, чтобы не добавлять символ стрелочки в HTML, и тем самым упростить верстку, мы добавили его через CSS. Кроме того, на CSS у нас описано всё для кнопки – она круглая с тенью, зафиксирована справа внизу, при наведении становится более заметной.
С CSS закончили. Теперь разберемся с jQuery. От jQuery у нас зависит 2 вещи:
- определение показывать кнопку «наверх» или нет (зависит от степени прокрутки страницы)
- собственно плавная прокрутка страницы вверх при нажатии на кнопку
Так и сделаем:
Сначала мы назначаем обработчик события прокрутки страницы, и делаем в нём проверку: если страница прокручена больше, чем размер экрана, то уже можно показывать кнопку «наверх», если же страница прокручена меньше – то наоборот скрываем.
Затем добавляем обработчик события клика на нашу кнопку «наверх». В нём мы анимируем свойство scrollTop одновременно у html и body (для кроссбраузерности).
Готово, кнопка наверх – работает.
Посмотреть результат можно тут:
Изначально кнопку не видно, нужно немного поскролить область с превью (чтобы сработал обработчик и проверка).
Вы можете смело устанавливать этот код на сайт, и будете приятно удивлены, что он работает и не требует дополнительных плагинов и скриптов. Только несколько строчек кода на JS, CSS и всего одна строчка на HTML (кстати, без HTML тоже можно обойтись, и использовать только JS, на нем же добавить кнопку уже после загрузки страницы).
Весь код из статьи доступен на jsfiddle.