Foros del Web » Programando para Internet » Jquery »

Evento scroll

Estas en el tema de Evento scroll en el foro de Jquery en Foros del Web. Hola tengo en mi web un ecabezado fixed y segun la posicion de scroll lo aparezco y lo desaparezco con este codigo: $(window).scroll(function() { window_y ...
  #1 (permalink)  
Antiguo 01/06/2013, 12:48
 
Fecha de Ingreso: mayo-2013
Ubicación: cordoba
Mensajes: 5
Antigüedad: 11 años, 7 meses
Puntos: 0
Evento scroll

Hola tengo en mi web un ecabezado fixed
y segun la posicion de scroll lo aparezco y lo desaparezco con este codigo:


$(window).scroll(function()
{
window_y = $(window).scrollTop();
if (window_y < 100)
{
$('#contenedor-botonera').fadeIn("fast");
}
else
{
if(window_y < 600)
{
$('#contenedor-botonera').fadeOut("fast");
}
else
{
if(window_y <1200)
{
$('#contenedor-botonera').fadeIn("fast");
}
else
{
$('#contenedor-botonera').fadeOut("fast");
}
}
}
});



el algoritmo funciona muy bien cuando voy desplazando el scroll en determinado momentos se aparece y en otros desaparece el encabezado.
El problema es cuando voy directo al principio o al final de la pagina.
Cuando estoy al final de la pagina y voy directo al principio o viceversa el encabezado parpadea tres o cuatro veces, esto es porque pasa por todos los eventos fadeIn y fadeOut y me gustaria que esto no sucediera.
alguna ayuda? alguna idea de como solucionarlo?
muchas gracias
  #2 (permalink)  
Antiguo 01/06/2013, 15:05
 
Fecha de Ingreso: agosto-2010
Ubicación: santiago, CHILE
Mensajes: 564
Antigüedad: 14 años, 4 meses
Puntos: 9
Respuesta: Evento scroll

el else en vez de else if debe ser error al escribirlo aqui, asi no haremos caso a eso.

una forma es de poner variables que condicionen los estados en true, false,

o tambien

if (window_y < 100){

// .....codigo

}else if(window_y >= 100 && window_y < 600){

// .....codigo

}else if(window_y >= 600 && window_y <1200) {

// .....codigo

}

Etiquetas: evento, 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 20:56.