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

Зачем нужна кнопка прокрутки вверх?

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

Преимущества кнопки прокрутки вверх

  1. Удобство для пользователей: снижает необходимость многократного прокручивания.
  2. Эстетическая привлекательность: ненавязчивая кнопка может гармонично вписаться в дизайн сайта.
  3. Повышение юзабилити: упрощает навигацию, особенно на мобильных устройствах.

Инструкция по созданию кнопки “Наверх”

Шаг 1: создание кнопки с помощью HTML

Первым шагом является создание самой кнопки в HTML. Вот пример простого HTML-кода:

<!DOCTYPE html>

<html lang="ru">

<head>

<meta charset="UTF-8">

<meta name="viewport" content="width=device-width, initial-scale=1.0">

<title>Пример кнопки прокрутки вверх</title>

<link rel="stylesheet" href="styles.css">

</head>

<body>

<!-- Ваш контент страницы -->

<button id="scrollToTopBtn" title="Вернуться вверх">↑</button>

<script src="script.js"></script>

</body>

</html>

Шаг 2: стилизация кнопки с помощью CSS

После добавления HTML, необходимо стилизовать так, чтобы она была ненавязчивой и приятной для глаза. Пример CSS-кода:

/* styles.css */

#scrollToTopBtn {

display: none; /* Кнопка скрыта по умолчанию */

position: fixed; /* Фиксированное положение */

bottom: 20px; /* Отступы */

right: 30px; /* Отступ */

z-index: 99; /* Отображается поверх других элементов */

border: none; /* Без границы */

outline: none; /* Без обводки */

background-color: #000; /* Черный фон */

color: white; /* Белый цвет текста */

cursor: pointer; /* Курсор-рука */

padding: 15px; /* Внутренние отступы */

border-radius: 10px; /* Скругленные углы */

font-size: 18px; /* Размер шрифта */

}

#scrollToTopBtn:hover {

background-color: #555; /* Изменение цвета при наведении */

}

Шаг 3: добавление функциональности с помощью JavaScript

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

// script.js

window.onscroll = function() {scrollFunction()};

function scrollFunction() {

var button = document.getElementById("scrollToTopBtn");

if (document.body.scrollTop > 20 || document.documentElement.scrollTop > 20) {

button.style.display = "block";

} else {

button.style.display = "none";

}

}

document.getElementById('scrollToTopBtn').addEventListener('click', function(){

window.scrollTo({top: 0, behavior: 'smooth'});

});

Улучшение пользовательского опыта

Чтобы сделать ее лучше, можно добавить несколько улучшений:

  • Плавность

Плавность улучшает визуальное восприятие и делает взаимодействие с сайтом более приятным. В примере JavaScript-кода выше это уже используется.

  • Анимация появления и исчезновения

Для более плавного появления и исчезновения можно использовать CSS-анимации:

#scrollToTopBtn {

transition: opacity 0.3s; /* Плавное изменение прозрачности */

}

#scrollToTopBtn.hidden {

opacity: 0; /* Прозрачность */

}

И в JavaScript:

function scrollFunction() {

var button = document.getElementById("scrollToTopBtn");

if (document.body.scrollTop > 20 || document.documentElement.scrollTop > 20) {

button.classList.remove("hidden");

} else {

button.classList.add("hidden");

}

}

Заключение

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