#javascript #bootstrap-4
#javascript #bootstrap-4
Вопрос:
Я пытаюсь переключить положение, зафиксированное в этой навигационной системе начальной загрузки, при прокрутке вниз. Я хочу, чтобы переход был плавным. Но эффект перехода вообще не работает. Что я делаю не так?
<nav class="navbar navbar-expand-lg navbar-light bg-light" id="navbar">
<div class="container">
<a class="navbar-brand">LOGO</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent"
aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarSupportedContent">
<ul class="navbar-nav ml-auto">
<li class="nav-item">
<a class="nav-link" href="">Contact</a>
</li>
</ul>
</div>
</div>
</nav>
window.addEventListener('scroll', function() {
var header = document.getElementById("navbar");
header.classList.toggle("fixednav", window.scrollY > 100);
});
.fixednav {
position: fixed;
top: 0;
right: 0;
left: 0;
z-index: 9999;
transition: top 0.5s linear;
}
Комментарии:
1. Это не должно быть причиной такого поведения, но у вас есть дополнительный
</ul>
в вашем коде, который должен быть</div>
. Я отправил правку на него.
Ответ №1:
Вы пробовали устанавливать начальное значение, чтобы свойство transition знало начальное значение, к которому нужно перейти?
top: 0;
Вы также могли бы попробовать добавить свойство transition к самому элементу вместо класса toggle.