JQuery - Evento scroll

 
Vista:

Evento scroll

Publicado por Emi (1 intervención) el 01/06/2013 20:54:21
Hola tengo en mi web un ecabezado fixed
y segun la posicion de scroll lo aparezco y lo desaparezco con este codigo:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
$(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
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 302
Oro
Ha mantenido su posición en JQuery (en relación al último mes)
Gráfica de JQuery

Evento scroll

Publicado por xve (673 intervenciones) el 02/06/2013 20:54:08
Hola Emi, he revisado tu código y haces algo que no entiendo muy bien...
si el scroll esta a menos de cien y menos de seiscientos, pero mas de 600 lo muestras...

Es decir
<100 muestras
>600 y <1200 muestras

Por eso te haces esos efectos... lo he probado...

Yo creo que debería de ir únicamente así:
1
2
3
4
5
6
7
8
9
10
11
12
13
$(window).scroll(function()
{
    console.log($(window).scrollTop());
    window_y = $(window).scrollTop();
    if (window_y < 100)
    {
        $('#contenedor-botonera').fadeIn("fast");
    }
    else
    {
        $('#contenedor-botonera').fadeOut("fast");
    }
});


Coméntanos, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar