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