Olá pessoal, gostaria de fazer um efeito que a navbar muda de cor ao rolar a página. Achei um post no stackoverflow que tem exatamente o que eu quero. Mas no meu não funciona e não consigo entender porquê.
Meu index.js:
const desiredElement = document.getElementById('nav-bar-list-id'); // elemento alvo
const pixelsAmount = '50'; // Quantidade de pixels a contar do TOP até definir a cor
window.addEventListener('scroll', function() {
if (window.scrollY > pixelsAmount) {
desiredElement.classList.add('changeStyle'); // adiciona classe "changeColor"
} else {
desiredElement.classList.remove('changeStyle'); // remove classe "changeColor"
}
});
Meu index.css:
/* Nova classe a ser atribuída ao elemento com os estilos desejados */
.changeStyle {
background-color: whitesmoke;
box-shadow: 0 0 1em gray;
}
.nav-bar-list {
list-style-type: none;
margin: 0;
padding: 0;
top: 0;
width: 100%;
position: fixed;
transition: background-color 0.3s ease-in-out;
}
Alguém consegue me ajudar?