2010-04-17 4 views
47

J'essaye de faire défiler une page 150px à partir de la position actuelle quand un élément est cliqué. Disons que vous êtes à mi-chemin d'une page. Vous cliquez sur ce lien, et il vous fera glisser vers le bas de 150 pixels supplémentaires.jQuery: Faites défiler vers le bas de la page un incrément défini (en pixels) lors du clic?

Est-ce possible avec jQuery?

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

+0

Amour pour voir le code que vous travaillez avec, il peut être la plupart du temps là-bas et il y a juste un problème simple. –

+0

Je n'ai pas encore de code à afficher. Comme une solution de rechange, je suis en train de faire défiler jusqu'à un # ID spécifique, mais j'essaie de rendre cela plus dynamique en faisant défiler 150px d'où vous étiez. – bcWeb

Répondre

3

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

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

+0

la version ** relative px ** du plugin ** _ scrollTo _ ** mentionné ici devrait parfaitement faire l'affaire. la méthode ** px (hash) ** ** vous permettra de specifier un dif ** _ left _ ** de la valeur ** _ top _ **. – Jeremy

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

Merci, cela a fonctionné pour moi .. pour une sorte d'effet de page vers le bas. 'var y = $ (fenêtre) .scrollTop(); $ ("html, body"). Animate ({scrollTop: y + $ (fenêtre) .height()}, 600); ' –

21

Il suffit de vérifier:

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

Il fera défiler changeurs de la position actuelle lorsque votre élément est cliqué

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

+2

Le' + = 'dans votre réponse a aidé beaucoup avec un problème que j'avais à un problème similaire que j'avais. –

+1

Merde, cette + = chose était tout ce dont j'avais besoin! (moi JS newbie). Vous devriez recevoir un prix Nobel. – Mexicanoon

0

Version mise à jour de la solution HCD qu'un vides conflit:

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