Ver Mensaje Individual
  #2 (permalink)  
Antiguo 15/08/2014, 21:21
Avatar de Alexis88
Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: problemas con header, quiero que al bajar con scroll se posicione en la pa

Sería cuestión de que al momento de hacer scroll, verifiques si la cantidad de píxeles desplazados es mayor o igual a la altura de la cabecera, de ser así, fijas la posición del menú, caso contrario, la dejas como originalmente estaba (sin posición fija).

Un ejemplo:

Código HTML:
Ver original
  1. <nav class = "natural">
  2.     <li>PHP</li>
  3.     <li>JavaScript</li>
  4.     <li>Java</li>
  5.     <li>C++</li>
  6. </nav>

Código CSS:
Ver original
  1. header{
  2.     height: 100px;
  3. }
  4.  
  5. .natural{
  6.     width: 100%;
  7. }
  8.  
  9. .fixed{
  10.     position: fixed;
  11.     top: 0;
  12.     width: 100%;
  13. }

Código Javascript:
Ver original
  1. var nav = document.getElementsByTagName("nav")[0]; //El menú
  2.  
  3. window.addEventListener("scroll", function(event){
  4.     if (this.scrollY >= 100){
  5.         nav.className = "fixed";
  6.     }
  7.     else{
  8.         nav.className = "natural";
  9.     }
  10. }, false);

Para evitar cambiar la posición desde JavaScript, cree dos clases en la hoja de estilos, una para cuando el menú se encuentre con posición fija y otra para cuando no posea esa posición, luego, solo tengo que cambiar el nombre de la clase y se le asignan las propiedades que cada una de ellas posee.

Y así es como resulta: http://jsbin.com/qayiwo

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand