2010-01-07 10 views
32

¿Cómo puedo detectar el número de píxeles desplazados en una ventana del navegador? Necesito esto para ajustar dinámicamente la altura de una división de altura del 100% ...detectar distancia desplazada desde la parte superior jquery

Estoy usando jQuery.

EDITAR: No puedo usar scrollTop() simplemente porque estoy trabajando con un div de altura del 100% con desbordamiento establecido en automático. Firefox navegador no detecta el desplazamiento debido a esto, lo único que el desplazamiento es un 100% x 100% div ...

Respuesta

7

chicos Allright, lo encontré:

$("div#container").scroll(function() { 
     var screenheight = parseInt($(document).height()); 
     var scrolledpx = parseInt($("div#container").scrollTop());  
     var sum = screenheight+scrolledpx; 
     console.log($("div#container").scrollTop()); 
     console.log("screen: " + screenheight); 
     console.log("sum=" + sum); 
     $("div.content").height(sum); 
}) 
71

uso $(document).scrollTop():

$(document).scroll(function() { 
    console.log($(document).scrollTop()); 
}) 
+0

gracias por su ayuda, pero no consigo nada en mi consola. Estoy usando Firefox 3.5.7. Parece que no está respondiendo al evento – Jorre

+1

en safari y Chrome está activando el evento, no en Firefox o IE – Jorre

+0

funciona bien aquí: http://jsbin.com/icawo3 – David

3

Puede usar scrollTop() para averiguar a qué distancia de la página ha viajado.

$(window).scroll(function() { 
    console.log($(window).scrollTop()); 
    if ($(window).scrollTop() > 200) { 
    $('#div').stop().animate({ 
     'marginTop': $(window).scrollTop() + 'px', 
     'marginLeft': $(window).scrollLeft() + 'px' 
    }, 'slow'); 
    } 
}); 
Cuestiones relacionadas