mira aquí:
http://jsfiddle.net/1L5y559z/

Digamos que quiero cambiar el cuerpo del color de fondo cuando alguien se desplace más allá o por debajo de div 1, ¿cómo lo voy a hacer con jquery si se puede?

Sé que hay es esto:

$(window).scroll(function() {
var y_scroll_pos = window.pageYOffset;
var scroll_pos_test = 100;

if(y_scroll_pos > scroll_pos_test) {
   $("body").css("background-color","black");
}
else
{
   $("body").css("background-color","white");
}
});

Pero es para cuando se desplace más allá o por debajo de un determinado número de píxeles. Estoy tratando de conseguir la misma cosa para un determinado div lugar.

InformationsquelleAutor lee | 2015-09-21

2 Comentarios

  1. 12

    Es el mismo tipo de cosa. sólo tienes que determinar en qué medida la parte superior de la div es desde la parte superior de la ventana. A continuación, determinar la altura del div añadir los dos juntos para obtener la distancia de píxeles desde la parte superior donde se desea que se produzca el cambio. Luego, cuando se desplace más allá de ese punto de realizar el cambio.

    $(function(){
        $(window).scroll(function() {
            var scroll = $(window).scrollTop(); //how many pixels you've scrolled
            var os = $('#div1').offset().top; //pixels to the top of div1
            var ht = $('#div1').height(); //height of div1 in pixels
            //if you've scrolled further than the top of div1 plus it's height
            //change the color. either by adding a class or setting a css property
            if(scroll > os + ht){
                $('#div2').addClass('blue');
            }
        });
    });

    ver este violín: http://jsfiddle.net/5d922roc/

    • perfecta solución y explicación.

Dejar respuesta

Please enter your comment!
Please enter your name here