jQuery: Faites défiler la page un incrément défini (en pixels) sur le clic?

J’essaie de faire défiler une page de 150px à partir de la position actuelle lorsqu’un élément est cliqué. Alors disons que vous êtes à peu près à mi-chemin sur une page. Vous cliquez sur ce lien et il vous fera glisser 150 pixels supplémentaires.

Est-ce possible avec jQuery?

J’ai regardé scrollTop et le plugin scrollTo, mais je n’arrive pas à connecter les points.

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

Il suffit de vérifier ceci:

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

Il fera défiler le défilement de la position actuelle lorsque vous cliquez sur votre élément

Et 150px est utilisé pour faire défiler 150px vers le bas

Vous pouvez le faire en utilisant animate comme dans le lien suivant:

http://blog.freelancer-id.com/index.php/2009/03/26/scroll-window-smoothly-in-jquery

Si vous voulez le faire en utilisant le plugin scrollTo , regardez ce qui suit:

Comment faire défiler la fenêtre en utilisant la fonction JQuery $ .scrollTo ()

Vous pourriez être après quelque chose que le plugin scrollTo d’Ariel Flesler fait vraiment bien.

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

Version mise à jour de la solution HCD qui évite les conflits:

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