Здравствуйте, разработчики! В этой статье мы рассмотрим, как можно создать простую адаптивную панель навигации с помощью jQuery.
Использование jQuery для создания панели навигации для устройств с меньшим разрешением помогает сделать код небольшим и чистым.
Мы можно просто использовать функцию jQuery click() и метод css() для создания панели навигации для устройств с меньшим разрешением.

Конечный результат :

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

Мы будем использовать обычные вкладки навигации для больших разрешений и добавим панели для небольших устройств, вы можете добавить значок панели из: https://fontawesome.com/icons/bars?f=classic&s=solid

При стилизации маленькой второй панели навигации используйте «transform: translateX(150%);» Используйте это свойство, чтобы переместить панель навигации за пределы экрана, чтобы она не была видна. и добавьте «переход: преобразование 0,3 с облегчения входа-выхода»; для перехода.

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

Мы будем использовать функцию jQuery «.click()», чтобы изменить css второй панели навигации на «transform: translateX(0);» с методом «.css()», который вернет панель навигации на экран с эффектом перехода.

Вы можете обратиться к коду ниже:

HTML:

<html>
<head>
    <title>Navbar</title>
    <link rel="stylesheet" href="style.css">
    <script src="app.js"></script>
    <script src="https://kit.fontawesome.com/ebbc1aa60f.js" crossorigin="anonymous"></script>
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/boxicons@latest/css/boxicons.min.css">
    <script src="https://code.jquery.com/jquery-3.7.0.js" integrity="sha256-JlqSTELeR4TLqP0OG9dxM7yDPqX1ox/HfgiSLBj8+kM=" crossorigin="anonymous"></script>
</head>
<body>
    <header>
        <div class="logo">GURURAJ.</div>
        <ul class="navigation">
            <li><a href="#banner">HOME</a></li>
            <li><a href="#shop">SHOP</a></li>
            <li><a href="#about">ABOUT</a></li>
            <li><a href="#review">REVIEWS</a></li>
            <li><a href="#contact">CONTACT</a></li>
        </ul>
        <div class="hamburger">
            <i class="fa-solid fa-bars on" id="on"></i>
        </div>
        <div class="alert">
            <ul class="navigation1">
                <i class='bx bxs-x-circle close'></i>
                <li><a href="#banner" class="out">HOME</a></li>
                <li><a href="#shop" class="out">SHOP</a></li>
                <li><a href="#about" class="out">ABOUT</a></li>
                <li><a href="#review" class="out">REVIEWS</a></li>
                <li><a href="#contact" class="out">CONTACT</a></li>
            </ul>
            </i>
        </div>
    </header>
</body>
</html>

CSS:

@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600&display=swap");

* {
    box-sizing: border-box;
    padding: 0;
    margin: 0;
    font-family: 'Poppins', sans-serif;
}

.alert {
    position: fixed;
    top: 5%;
    right: 2%;
    background: #111;
    color: #fff;
    font-weight: 800;
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23);
    padding: 20px;
    width: 300px;
    height: 100vh;
    border-radius: 10px;
    transform: translateX(150%);
    transition: transform 0.3s ease-in-out;
}

.alert .navigation1 {
    display: flex;
    flex-direction: column;
    list-style: none;
    text-align: center;
}

.alert .navigation1 li a {
    text-decoration: none;
    color: #fff;
}

.alert .navigation li a {
    text-decoration: none;
    color: #fff;
}

.alert p {
    margin: 30px;
    letter-spacing: 1px;
}

.alert i {
    display: flex;
    justify-content: flex-end;
    font-size: 30px;
    cursor: pointer;
    color: #fff;
}

body {
    background: #fff;
}

header {
    position: absolute;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    top: 0;
    left: 0;
    z-index: 1;
    padding: 20px 60px;
    background: #111;
    position: fixed;
    border-bottom: 1px solid #aaa;
}

header .logo {
    color: #fff;
    font-weight: bold;
    font-size: 2.5em;
    text-decoration: none;
}

header ul {
    display: flex;
    justify-content: space-between;
    flex-direction: row;
    gap: 60px;
    list-style: none;
}

header .navigation li a {
    text-decoration: none;
    color: #fff;
}

header .navigation li a:hover {
    border-bottom: 1px solid #fff;
}

header .hamburger {
    display: none;
    color: #fff;
    cursor: pointer;
}

@media(max-width:991px) {
    header .navigation {
        display: none;
    }

    header .hamburger {
        display: block;
    }
}

jQuery:

        $(document).ready(function () {
            $(".on").click(function () {
                $('.alert').css({
                    'transform': 'translateX(0)',
                });
            });

            $(".close").click(function () {
                $('.alert').css({
                    'transform': 'translateX(150%)',
                });
            });

            $(".out").click(function () {
                $('.alert').css({
                    'transform': 'translateX(150%)',
                });
            })
        })

Или вы можете обратиться к следующей ссылке на исходный код:

«“https://codepen.io/gururajmath/pen/BaGjYGv””

Выход :