web-dev-qa-db-fra.com

Exécuter ScrollTop avec décalage d'élément par ID

Essayer de faire défiler le navigateur vers un ID spécifique avec un décalage ajouté -

$('html, body').animate({scrollTop: $('#contact').offset().top}, 'slow');

Ce que je dois faire est de régler le décalage de -100px. Comment puis-je accomplir cela?

56
Staffan Estberg

Aucune magie impliquée, il suffit de soustraire du haut offset de l'élément

$('html, body').animate({scrollTop: $('#contact').offset().top -100 }, 'slow');
125
charlietfl
var top = ($(".apps_intro_wrapper_inner").offset() || { "top": NaN }).top;   
if (!isNaN(top)) {
$("#app_scroler").click(function () {   
$('html, body').animate({
            scrollTop: top
        }, 100);
    });
}

si vous voulez faire défiler un peu au-dessus ou en dessous d'une div spécifique qui ajoute de la valeur au sommet de cette façon ..... comme j'ajoute 800

var top = ($(".apps_intro_wrapper_inner").offset() || { "top": NaN }).top + 800;
0
Rai Ahmad Fraz