a标签锚点的跳转至非页面顶部
a标签锚点跳转永远是在页面顶部,如果上方有固定定位的元素,固定定位的元素会压盖住锚点跳转过来的元素,使用以下代码,模拟锚点跳转
// An highlighted block
var fixedNavHeight = $('.nav-bar').outerHeight();
if (window.location.hash.indexOf('#') >= 0) {
$('html,body').animate({
scrollTop: ($(window.location.hash).offset().top - fixedNavHeight) + "px"
}, 300);
};
$('.bs-nav-a a[href^=#][href!=#]').click(function() {
var target = document.getElementById(this.hash.slice(1));
if (!target) return;
var targetOffset = $(target).offset().top - fixedNavHeight;
$('html,body').animate({
scrollTop: targetOffset
},
300);
return false;
});