2009-05-05 7 views
2

Page doit être défilé après avoir cliqué sur le lien avec l'ID (soit #link).Correction jQuery défilement

Voici mon code, qui ne marche pas le travail:

$(document).ready(function(){ 
    $("#link").click(function() { 
     $(this).animate({ scrollTop: 2000 }, 'slow'); 
    }); 
}); 

Mais celui-ci fonctionne, après le chargement de la page il défile lentement vers le bas de la page:

$(document).ready(function() { 
    $('html, body').animate({ scrollTop: 6000 }, 'slow'); 
}); 

La hauteur du corps est de 6000px.

Répondre

3

Dans votre premier exemple, vous définissez le scrollTop de l'élément de liaison réel qui n'a rien à afficher. (Pas de débordement)

$(document).ready(function(){ 
    $("#link").click(function() { 
     $("body").animate({ scrollTop: 2000 }, 'slow'); 
    }); 
}); 

Hers est une assez bonne explication de https://developer.mozilla.org/En/DOM/Element.scrollTop

+0

fonctionne très bien avec défilement de haut en bas. – Mike

+0

mais si le lien est placé dans le bas (par exemple, à partir de 4000px du coin supérieur) et je veux le faire défiler vers le haut, il défile de "haut-à-point" (page jette vers le haut puis fait défiler vers le bas), mais doit faire défiler de "bas-vers-le-haut-point" (à partir du point existant, sans lancer). Pleeeease aide-moi à corriger cela – Mike

+0

si vous voulez l'animer vers le haut à partir du bas {scrollTop: 0} –

2

On dirait que vous essayez d'animer 'ceci' ce serait le lien!

Vous devriez essayer $ (fenêtre) .animate à la place! ou peut-être même document, désolé pas sûr!

+0

merci, mais « $ (fenêtre) .animate "ne fonctionne pas trop – Mike

1

essayer $ ('html, body'). Animer pour soutenir tous les navigateurs