我有一個帶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