我有一个带2个div的页面。第一个包含项目列表,第二个包含列表中每个项目的1个部分。 向下滚动第二个div时,我希望正确的li在相应部分处于“活动状态”时突出显示。问题在于,他们在达到正确部分之前会受到高亮显示。 这是我制作的codepen。而这里的jQuery函数使用:Jquery,滚动条上显示的菜单项太早
$('#event-details .content').on('scroll', function() {
$('.event-title').each(function() {
if($('#event-details .content').scrollTop() >= $(this).offset().top) {
var id = $(this).attr('id');
console.log(id);
$('.event-title').removeClass('active');
$('#' + id).addClass('active');
}
});
});
我想这个问题是对的条件,但我解决不了。任何想法呢?谢谢!
没有答案,但FYI有很多免费的图书馆要做到这一点,例如https://github.com/sxalexander/jquery-scrollspy –
看着代码和HTML,看起来你正在比较右侧的scrollTop和左侧的偏移......这看起来不对? –
你好,你是对的,我的不好,谢谢。我更新了条件if($('#event-details .content')。scrollTop()> = $('。event-'+ id +'-details')。offset()。top)',但是现在第一个李总是突出显示。 – acanana