2016-06-17 15 views
0

Im Verwenden des folgenden Codes, um reibungslose Scrollen für Anker auf meiner Website hinzuzufügen. Weil ich eine klebrige Header-ID dies, um danach Offset sagen 200pxSmooth Scrolling-Anker mit Offset (Jquery)

$('a[href*="#"]:not([href="#"])').click(function() { 
    if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'') && location.hostname == this.hostname) { 
     var target = $(this.hash); 
     target = target.length ? target : $('[name=' + this.hash.slice(1) +']'); 
     if (target.length) { 
      $('html, body').animate({ 
       scrollTop: target.offset().top 
      }, 1000); 
      return false; 
     } 
    } 
}); 

Antwort

1

Versuchen hinzufügen oder einen Wert in der scrollTop Animation entfernen

$('a[href*="#"]:not([href="#"])').click(function() { 
    var offset = -200; // <-- change the value here 
    if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'') && location.hostname == this.hostname) { 
     var target = $(this.hash); 
     target = target.length ? target : $('[name=' + this.hash.slice(1) +']'); 
     if (target.length) { 
      $('html, body').animate({ 
       scrollTop: target.offset().top + offset 
      }, 1000); 
      return false; 
     } 
    } 
});