Foros del Web » Creando para Internet » HTML »

[SOLUCIONADO] Pasar de position absolute a fixed

Estas en el tema de Pasar de position absolute a fixed en el foro de HTML en Foros del Web. Buenas tardes a tod@s Mi duda es que no sé cómo hacer que un elemento cuya propiedad position en principio es absolute, pase esta propiedad ...
  #1 (permalink)  
Antiguo 31/01/2013, 04:32
 
Fecha de Ingreso: enero-2007
Mensajes: 12
Antigüedad: 17 años, 3 meses
Puntos: 0
Pregunta Pasar de position absolute a fixed

Buenas tardes a tod@s

Mi duda es que no sé cómo hacer que un elemento cuya propiedad position en principio es absolute, pase esta propiedad a fixed cuando alcanza el límite superior de la ventana del navegador.

Para ilustrar mi pregunta os dejo este link:

http://www.routalempi.fi/

En él se puede ver como el menú principal se comporta de la manera que os digo.

No sé si será suficiente con una explicación directa o un trozo de código porque a lo mejor es más complicado que eso, pero si es así y me indicárais algún tutorial donde puediera aprender a hacerlo, sería genial.

Muchísimas gracias por adelantado!
  #2 (permalink)  
Antiguo 31/01/2013, 05:08
Avatar de ipraetoriux  
Fecha de Ingreso: abril-2010
Ubicación: ipraetoriux.com
Mensajes: 1.125
Antigüedad: 14 años
Puntos: 155
Respuesta: Pasar de position absolute a fixed

...mira aca te dejo un link

http://jsfiddle.net/2C6fB/8/
http://jqueryfordesigners.com/fixed-floating-elements/

lo que tienes que hacer es con Javascript detectar el scroll desde top que se ha hecho y segun el scroll efectuado cambiar los atributos css de absolute a fixed

Ejemplo

Código Javascript:
Ver original
  1. $(window).scroll(function(){
  2.             if($(window).scrollTop() > 563) {
  3.                 $('#menu').css('top', '0px');
  4.                 $('#menu').css('position', 'fixed');
  5.             }
  6.             else {
  7.                 $('#menu').css('position', 'absolute');
  8.                 $('#menu').css('top', '563px');
  9.             }
  10.             if($(window).scrollTop() > 620) {
  11.                 $('#menu').addClass("algunaclase");
  12.             } else {
  13.                 $('#menu').removeClass('algunaclase');
  14.             }
  15.         });
  #3 (permalink)  
Antiguo 31/01/2013, 05:25
 
Fecha de Ingreso: enero-2007
Mensajes: 12
Antigüedad: 17 años, 3 meses
Puntos: 0
Respuesta: Pasar de position absolute a fixed

Alucinante ipraetoriux, un millón de gracias!!!!!!!!

He creado el documento js con el código que me diste y funciona a la perfección.
De todas formas miraré con más atención los enlaces que me has pasado para comprenderlo mejor.

Una vez más, muchísimas gracias

Etiquetas: css
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 11:30.