Інтерактивні тури по сайту з використанням HTML, CSS і JavaScript

Інтерактивні тури по сайту допомагають новим користувачам швидко зорієнтуватися в інтерфейсі, підвищуючи їхню залученість та забезпечуючи кращий користувацький досвід. У цій статті ми розглянемо, як створити базовий інтерактивний тур для вашого веб-сайту за допомогою HTML, CSS і JavaScript.

Підготовка структури HTML

Для початку нам потрібно підготувати HTML-структуру, яка включатиме оверлей та елементи для керування туром. Ось приклад базової розмітки:

<div id="tour-overlay" class="hidden">
    <div class="tour-step" data-step="1">
        <p>Ласкаво просимо на наш сайт! Це наш головний банер.</p>
        <button onclick="nextStep(2)">Далі</button>
    </div>
    <div class="tour-step hidden" data-step="2">
        <p>Тут ви можете знайти наші продукти.</p>
        <button onclick="nextStep(3)">Далі</button>
        <button onclick="endTour()">Закінчити тур</button>
    </div>
    <!-- Додати додаткові кроки за потребою -->
</div>

Стилізація CSS

Для оформлення оверлею та кроків туру використовуємо CSS. Задамо стилі для видимості, позиціонування та анімації:

#tour-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
}

.tour-step {
    background: white;
    padding: 20px;
    border-radius: 5px;
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
    display: none;
}

.tour-step.active {
    display: block;
    animation: fadeIn 0.5s;
}

.hidden {
    display: none;
}

@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

Логіка на JavaScript

Скрипт для керування туром має включати функції для навігації між кроками та завершення туру:

function nextStep(step) {
    var currentStep = document.querySelector('.tour-step.active');
    if (currentStep) {
        currentStep.classList.remove('active');
    }
    var nextStep = document.querySelector('.tour-step[data-step="' + step + '"]');
    if (nextStep) {
        nextStep.classList.add('active');
    }
}

function endTour() {
    document.getElementById('tour-overlay').classList.add('hidden');
    var allSteps = document.querySelectorAll('.tour-step');
    allSteps.forEach(function(step) {
        step.classList.remove('active');
    });
}

document.getElementById('tour-overlay').classList.remove('hidden');
nextStep(1);

Реалізація інтерактивного туру

  1. Планування: Перед початком розробки визначте ключові точки та елементи на вашому сайті, які слід включити в тур.

  2. Розмітка: Створіть відповідні HTML-елементи для кожного кроку туру.

  3. Стилізація: Застосуйте CSS для створення чіткого та привабливого візуального вигляду.

  4. Логіка: Напишіть JavaScript-код для управління переходами між кроками та завершенням туру.

Ці кроки допоможуть вам створити базовий інтерактивний тур, який можна адаптувати під будь-які потреби вашого сайту, підвищуючи залученість користувачів та забезпечуючи їм інформативний досвід.

Поради для покращення інтерактивного туру

Забезпечення доступності

Для користувачів із особливими потребами важливо забезпечити доступність інтерактивного туру. Використовуйте ARIA-ролі та атрибути, щоб зробити елементи керування туром доступними для читачів екрану:

<button aria-controls="tour-step" onclick="nextStep(2)">Далі</button>

Поради для покращення інтерактивного туру

Забезпечення доступності

Для користувачів із особливими потребами важливо забезпечити доступність інтерактивного туру. Використовуйте ARIA-ролі та атрибути, щоб зробити елементи керування туром доступними для читачів екрану:

<button aria-controls="tour-step" onclick="nextStep(2)">Далі</button>

Адаптивність

Переконайтеся, що ваш інтерактивний тур виглядає добре на всіх пристроях. Використовуйте медіа-запити для адаптації розмірів і місця розміщення кроків туру на різних екранах:

@media (max-width: 768px) {
    .tour-step {
        width: 90%;
        font-size: 14px;
    }
}

Впровадження підказок або вспливаючих вікон, які з'являються перед початком туру, може допомогти користувачам краще зрозуміти, що від них очікується. Наприклад, ви можете додати підказку про те, що клік по "Тур" розпочне інтерактивний досвід:

alert("Натисніть 'Почати тур', щоб дізнатися більше про наш сайт!");

Візуальні ефекти

Використання тонких візуальних ефектів може покращити досвід користувача. Наприклад, плавне затемнення фону під час туру додає акцент на інструкції туру і відволікає від інших елементів сторінки:

#tour-overlay.active {
    animation: fadeInBackground 0.5s;
}

@keyframes fadeInBackground {
    from { background-color: transparent; }
    to { background-color: rgba(0, 0, 0, 0.5); }
}

Для вебсайтів, де користувачі можуть повертатися часто, корисно зберігати стан туру. Якщо користувач перервав тур, ви можете запропонувати йому продовжити з місця зупинки при наступному відвідуванні:

sessionStorage.setItem('tourStep', currentStep);
var savedStep = sessionStorage.getItem('tourStep');
if (savedStep) {
    nextStep(savedStep);
}

Заключні слова

Інтерактивний тур по сайту є чудовим способом для залучення нових користувачів та надання їм корисної інформації про ваші послуги та продукти. З допомогою HTML, CSS та JavaScript ви можете створити ефективний тур, який покращить загальний користувацький досвід на вашому сайті.

Поділись своїми ідеями в новій публікації.
Ми чекаємо саме на твій довгочит!
Volodymyr Zhyliaev
Volodymyr Zhyliaev@digitalowltop

7.1KПрочитань
65Автори
24Читачі
Підтримати
На Друкарні з 7 травня

Більше від автора

Вам також сподобається

Коментарі (1)

Вам не вистачає прикладів в Ваших довгочитах, або з посиланнями про таку тему, або наприклад на проекти в CodePen які легко інтегруються в довгочити і можна “помацати код” .

Хотілося б почитати про інтеграцію 3д обʼєктів та three js бо вони щось там змінюють в бібліотеці і минулі гайди не актуальні зараз.

Якщо не складно розберіть тему. Саме мене цікавить кастомізація персонажів де на один 3д обʼєкт можна накласти інший, а у них можна редагувати колір та вони б були одним цілим.

Був би дуже радий якщо видасте базу. Дякую і успіхів.

Вам також сподобається