Я создал скрипт для модификации моей панели навигации, когда пользователь прокручивает страницу вниз. Мне нужно изменить верхнее значение для моей отзывчивой кнопки меню (#menu-btn
)
. После выполнения сценария мой ul
принимает имя класса scrolled
, и применяются все стили, кроме top
значение, которое установлено в 19px из-за медиа-запроса.
Это то, чего я не понимаю. Это как приоритет для медиа-запроса?
Спасибо за вашу помощь.
Вот моя навигация
<ul class="nav justify-content-center">
<li><a id="menu-btn"><img src="img/menu-icon.png" alt=""></a></li>
<li class="nav-item">
<a id="logo-lc" class="nav-link active" href="index">
<img src="img/logo-lc.svg" width="60px" />
</a>
</li>
<li class="nav-item" id="li-services">
<a class="nav-link" href="services">Services</a>
</li>
<li class="nav-item" id="li-creations">
<a class="nav-link" href="creations">Créations</a>
</li>
<li class="nav-item" id="li-presentation">
<a class="nav-link" href="presentation">Présentation</a>
</li>
<li class="nav-item" id="li-contact">
<a class="nav-link" href="contact">Contact</a>
</li>
</ul>
Вот мой медиа-запрос для маленького экрана
@media screen and (max-width: 600px) {
.nav li{
width: 100%;
text-align: center;
}
.nav li a{
display: inline-block;
}
.nav #li-services, .nav #li-creations, .nav #li-presentation, .nav #li-contact{
display: none;
}
#menu-btn{
position: absolute;
top: 19px;
left: 19px;
z-index: 99;
}
#menu-btn img{
max-width: 32px;
z-index: 99;
cursor: pointer;
}
}
А вот мой скрипт для прокручиваемой навигационной панели
window.onscroll = function() {scrollFunction()};
function scrollFunction() {
if (document.body.scrollTop > 100 || document.documentElement.scrollTop > 100) {
$( ".nav-link" ).css( "font-size", "18px" );
$("#menu-btn").css("top", "8px");
}
else {
$( ".nav-link" ).css( "font-size", "23px" );
$("#menu-btn").css("top", "19px");
}
}
$(function () {
$(document).scroll(function () {
var $nav = $(".nav");
$nav.toggleClass('scrolled', $(this).scrollTop() > $nav.height());
});
});