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:
CSS: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>
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:
Tutto funziona correttamente, ma SOLO a condizione che io utilizzo il tag "<header_sfondo>" nudo e crudo.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>
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!

Rispondi quotando