Foros del Web » Programando para Internet » Javascript »

problemas con header, quiero que al bajar con scroll se posicione en la partesuperior

Estas en el tema de problemas con header, quiero que al bajar con scroll se posicione en la partesuperior en el foro de Javascript en Foros del Web. Lo que pasa es que tengo una duda sobre como hacer para que el encabezado de mi pagina (imagen de abajo el encabezado blanco), baje ...
  #1 (permalink)  
Antiguo 15/08/2014, 18:15
 
Fecha de Ingreso: julio-2014
Mensajes: 41
Antigüedad: 10 años, 5 meses
Puntos: 0
problemas con header, quiero que al bajar con scroll se posicione en la partesuperior

Lo que pasa es que tengo una duda sobre como hacer para que el encabezado de mi pagina (imagen de abajo el encabezado blanco), baje al hacer scroll pero al utilizar el fixed como sabrán se queda en la misma posición, dejando el hueco de la imagen negra de arriba y lo que busco es que al bajar la parte blanca se posicione hasta arriba de mi página, espero haber sido claro y de antemano agradezco su respuesta.


  #2 (permalink)  
Antiguo 15/08/2014, 21:21
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años, 1 mes
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
  #3 (permalink)  
Antiguo 18/08/2014, 04:58
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 16 años, 6 meses
Puntos: 1012
Respuesta: problemas con header, quiero que al bajar con scroll se posicione en la pa

me remito a lo dicho en este post sobre scrollY
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}
  #4 (permalink)  
Antiguo 18/08/2014, 10:19
 
Fecha de Ingreso: julio-2014
Mensajes: 41
Antigüedad: 10 años, 5 meses
Puntos: 0
Respuesta: problemas con header, quiero que al bajar con scroll se posicione en la pa

Ya lo resolví, muchas gracias por su ayuda.

Etiquetas: bajar, header, quiero, scroll
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:50.