我的网站只有一页。在导航栏中,有一些链接指向页面的某些部分。我正在使用此代码来帮助我平滑滚动并更改导航栏中的活动标记:
$(document).ready(function () {
$(document).on("scroll", onScroll);
// smoothscroll
$('a[href^="#"]').on('click', function (e) {
e.preventDefault();
$(document).off("scroll");
$('a').each(function () {
$(this).removeClass('active');
})
$(this).addClass('active');
var target = this.hash,
menu = target;
$target = $(target);
$('html, body').stop().animate({
'scrollTop': $target.offset().top+2
}, 800, 'swing', function () {
window.location.hash = target;
$(document).on("scroll", onScroll);
});
});
});
function onScroll(event){
var scrollPos = $(document).scrollTop();
$('#nav-bar a').each(function () {
var currLink = $(this);
var refElement = $(currLink.attr("href"));
if (refElement.position().top <= scrollPos && refElement.position().top + refElement.height() > scrollPos) {
$('#nav #nav-bar ul li a').removeClass("active");
currLink.addClass("active");
}
else{
currLink.removeClass("active");
}
});
}
一切正常。但我有一个问题。如果您点击导航栏中的一个页面,例如“关于我们”,则在网址中会显示来自锚ID的“/#about”。
我想删除它,因为我只有一个页面,看起来不太好。