Ciao a tutti, sto utilizzando il seguente codice javascript (+ html e css ovviamente) per implementare un effetto di colorazione dell'header (contenente anche la bassa di navigazione) allo scorrere della pagina.
Script:
codice:
<script>var className = "inverted";
var scrollTrigger = 60;
window.onscroll = function() {
// We add pageYOffset for compatibility with IE.
if (window.scrollY >= scrollTrigger || window.pageYOffset >= scrollTrigger) {
document.getElementsByTagName("header_sfondo")[0].classList.add(className);
} else {
document.getElementsByTagName("header_sfondo")[0].classList.remove(className);
}
};
</script>
CSS:
codice:
header_sfondo { transition: background-color 0.5s ease;
background-color: #444444;
margin: 0;
padding: 0;
position: fixed;
text-align: center;
top: 0;
}
header_sfondo.inverted {
background-color: #fff;
}
header_sfondo.inverted a {
color: #0e436b;
}
Html:
codice:
<header_sfondo> <ul id="menu">
<li id="linkmenu">
<a href="...">1</a>
</li>
<li id="linkmenu">
<a href="...">2</a>
</li>
<li id="linkmenu">
<a href="...">3</a>
</li>
</ul>
</header_sfondo>
Tutto funziona correttamente, ma SOLO a condizione che io utilizzo il tag "<header_sfondo>" nudo e crudo.
Potrei usare anche <pincopallino> e funzionerebbe uguale, ma smette di funzionare se utilizzo un div (come mi sembrerebbe più corretto fare).
Ad esempio: <div id="header_sfondo">.
In questo caso ovviamente modifico anche il css e lo script, anteponendo ovviamente all'identificativo "header_sfondo" il simbolo "#".
Ho provato anche come classe (div class="header_sfondo") ed utilizzando il punto "." al posto del simbolo "#".
Non funziona nemmeno così.
Potete darmi una mano?
Da cosa dipende il fatto che funzioni solo con un tag individuato dal suo nome e non da un ID o CLASS?
Grazie!