2010-04-17 21 views
47

Estoy tratando de hacer que una página se deslice hacia abajo 150px desde la posición actual cuando se hace clic en un elemento. Digamos que estás aproximadamente a medio camino de una página. Hace clic en este enlace y lo deslizará 150 píxeles adicionales.jQuery: desplácese hacia abajo en la página un incremento establecido (en píxeles) al hacer clic?

¿Esto es posible con jQuery?

He estado mirando scrollTop y el complemento scrollTo, pero parece que no puedo conectar los puntos.

+0

Me encantaría ver el código con el que estás trabajando, puede ser la mayor parte del camino y solo hay un problema simple. –

+0

No tengo código para mostrar todavía. Como solución alternativa, me desplazaré a un #ID específico, pero estoy tratando de hacerlo más dinámico desplazándome 150px desde donde estaba. – bcWeb

Respuesta

3

Es posible que busque algo que el plugin scrollTool de Ariel Flesler realmente hace bien.

http://demos.flesler.com/jquery/scrollTo/

+0

la ** versión px relativa ** del ** _ scrollTo plugin _ ** mencionado aquí debería hacer el truco a la perfección. el ** método px relativo (hash) ** le permitirá especificar un valor dif ** _ left _ ** from ** _ top _ **. – Jeremy

89
var y = $(window).scrollTop(); //your current y position on the page 
$(window).scrollTop(y+150); 
+22

Gracias, esto funcionó para mí ... para una especie de efecto de bajada de página. 'var y = $ (ventana) .scrollTop(); $ ("html, body"). Animate ({scrollTop: y + $ (ventana) .height()}, 600); ' –

21

Sólo tienes que comprobar esto:

$(document).ready(function() { 
    $(".scroll").click(function(event){ 
     $('html, body').animate({scrollTop: '+=150px'}, 800); 
    }); 
}); 

Hará desplazamiento rueda de desplazamiento desde la posición actual cuando se hace clic en el elemento de

Y 150 píxeles se utiliza para desplazarse por 150 píxeles hacia abajo

+2

El' + = 'en su respuesta ayudó mucho con un problema que estaba teniendo con un problema similar que tuve. –

+1

¡Maldición, esto + = era todo lo que necesitaba! (yo JS novato). Deberías recibir un premio Nobel. – Mexicanoon

0

Versión actualizada de la solución de HCD que Convierte el conflicto:

var y = $j(window).scrollTop(); 
$j("html, body").animate({ scrollTop: y + $j(window).height() }, 600); 
Cuestiones relacionadas