【发布时间】:2020-11-01 12:35:08
【问题描述】:
我有一个名为 nav-up 的类,当我滚动以使其消失时,我将其与 javascript 一起应用于我的导航栏。我还有一个名为nav-dark 的类,以使其具有背景色。
我希望这两项更改都能顺利过渡,但似乎我一次只能执行一项,就好像我同时执行一项会取消另一项一样。
.navbar {
transition: top 0.2s ease-in-out;
transition: background-color 0.2s ease-in-out;
}
.nav-up {
top: -80px;
}
.nav-dark {
background-color: rgba(43, 43, 43, 1);
-webkit-box-shadow: 0 5px 14px rgba(0, 0, 0, 0.7);
box-shadow: 0 5px 14px rgba(0, 0, 0, 0.7);
}
.nav-transparent {
opacity: 0;
}
这里是javascript。它适用于应用类,但我打算让它在我向上滚动时再次透明。
window.onscroll = function() {scrollFunction()};
document.querySelector(".navbar").classList.add('navbar-transparent')
document.querySelector(".navbar").classList.remove('navbar-dark');
function scrollFunction() {
if (document.body.scrollTop < 330 || document.documentElement.scrollTop < 330) {
document.querySelector(".navbar").classList.add('nav-dark');
} else if (document.body.scrollTop > 330 || document.documentElement.scrollTop > 330){
document.querySelector(".navbar").classList.add('navbar-transparent')
document.querySelector(".navbar").classList.remove('navbar-dark');
}
}
【问题讨论】:
-
没有js,我们也是一头雾水。
-
用逗号分隔
transition属性。 -
@Dai
transition: top, background-color 0.2s ease-in-out;似乎不起作用
标签: javascript css