Jquery 当用户滚动到某个区段时,突出显示导航项
我已经发布了一些关于这方面的信息,但我似乎找不到解决方案。当用户滚动到某个分区时,我试图将一个类添加到与该分区相关的某个标记中。我尝试了下面的代码,但链接没有发生任何变化Jquery 当用户滚动到某个区段时,突出显示导航项,jquery,html,css,Jquery,Html,Css,我已经发布了一些关于这方面的信息,但我似乎找不到解决方案。当用户滚动到某个分区时,我试图将一个类添加到与该分区相关的某个标记中。我尝试了下面的代码,但链接没有发生任何变化 $(window).scroll(function() { var position = $(this).scrollTop; $('.section').each(function() { var target = $(this).offset().top; var id = $(
$(window).scroll(function() {
var position = $(this).scrollTop;
$('.section').each(function() {
var target = $(this).offset().top;
var id = $(this).attr('id');
var navLinks = $('#navigation li a');
if(position >= target) {
navLinks.removeClass('current');
$('#navigation li a[href^="#"' + id + ']').addClass('current');
}
});
});
滚动函数中的锚定标记选择以及获取窗口偏移量时出现语法错误。使用下面的代码
$(window).scroll(function () {
var position = window.pageYOffset;
$('.section').each(function () {
var target = $(this).offset().top;
var id = $(this).attr('id');
var navLinks = $('#navigation li a');
if (position >= target) {
navLinks.removeClass('current');
$('#navigation li a[href="#' + id + '"]').addClass('current');
}
});
});
此外,您还需要将当前的类颜色设置为使其正常工作的重要颜色
.current {
color: red!important;
}
非常感谢。除了一件事之外,所有的东西都是有效的,我想让它稍早一点,比如,它添加了这个类,但是它没有考虑到Nav的高度,所以我会点击链接并滚动一点,然后AdC类就发生了。我该如何解决这个问题?如何使高亮显示在实际到达节顶部之前稍早发生?好的,我添加了var navHeight=$(“#navigation”).height();并将if语句修改为if(position>=target-navHeight),它可以完美地工作。再次感谢!