2011-01-11 24 views

Respuesta

9

Comprobar

if (($("#yourdiv").offset().top + $("#yourdiv").height()) >= $(window).height()) { 
} 

El .offset() nos permite recuperar la posición actual de un elemento con respecto al documento. Contraste esto con .position(), que recupera la posición actual relativa al padre de desplazamiento.

Ver un working demo

+0

interesante, pero eso siempre es cierto por alguna razón – AnApprentice

+0

Intenté depurar esto, los valores nunca cambian: console.log (\t ($ (". Discussion-box"). Offset(). Top + $ (". Discussion- box "). height()) + '' + $ (ventana) .height()); – AnApprentice

+0

siempre 1553 861 – AnApprentice

10

no creo que la respuesta anterior funcionaría, ya que compensado(). Superior es el espacio entre el div y la parte superior del documento, y no es variable. Esto funcionó para mí:

var a = $("#mydiv").offset().top; 
var b = $("#mydiv").height(); 
var c = $(window).height(); 
var d = $(window).scrollTop(); 
if ((c+d)>(a+b)) { 
    //bottom of #mydiv has just become visible 
} 
Cuestiones relacionadas