2016-03-23 2 views
0

Ich benutze den folgenden jQuery-Code, um zwischen Elementen auf meiner Seite von einer festen Navigationsleiste an der Spitze zu scrollen, akzeptieren, dass einige Text oben verschwindet hinter meiner Navigationsleiste. Wie kann ich diesen Code so ändern, dass er nur bis zu einer bestimmten Entfernung von oben (Höhe meiner Navigationsleiste) der Seite scrollt?Legen Sie eine Pixelentfernung vom oberen Rand der Seite beim Scrollen zu Element

$(document).ready(function(){ 
$('a[href^="#"]').on('click',function (e) { 
    e.preventDefault(); 

    var target = this.hash; 
    var $target = $(target); 

    $('html, body').stop().animate({ 
     'scrollTop': $target.offset().top 
    }, 900, 'swing', function() { 
     window.location.hash = target; 
    }); 
}); 
}); 

Antwort

1

Wenn Sie nicht wollen, den ganzen Weg nach oben zu bewegen, können Sie einfach die Sie brauchen, um den Stattdessen op scrollTop

var height = //<distance to top>; 
$('html, body').stop().animate({ 
    'scrollTop': $target.offset().top + height 
}, 900, 'swing', function() { 
    window.location.hash = target; 
}); 
+0

Offsetzumischung plus i bin mit minus, die besser funktioniert, aber Danke, dass du mich in die richtige Richtung geführt hast. –

+0

Das funktioniert im Chrome-Browser, funktioniert aber nicht im neuesten Mozilla-Browser –

Verwandte Themen