我在這裏剛剛開始學習JavaScript/jQuery,我有一些代碼,但我認爲它不是一個有效的代碼,它太長了,有點重複同樣的事情,你們也許可以製作一個更簡單的代碼版本?謝謝。
var sections = $('.section-page'),
sp = $('.sp'),
sp2 = $('.sp2'),
sp3 = $('.sp3');
$(window).on('scroll', function() {
var cur_pos = $(this).scrollTop();
sections.each(function() {
var top = $(this).offset().top - nav_height,
bottom = top + $(this).outerHeight();
if (cur_pos >= top && cur_pos <= bottom) {
nav.find('a').parent().closest('li').removeClass('current');
nav.find('a[href="#'+$(this).attr('id')+'"]').parent().closest('li').addClass('current');
}
});
sp.each(function() {
var top = $(this).offset().top - nav_height,
bottom = top + $(this).outerHeight();
if (cur_pos >= top && cur_pos <= bottom) {
nav.find('a').parent().closest('li').removeClass('current');
$('#cssmenu > ul > li:nth-child(7)').addClass('current');
}
});
sp2.each(function() {
var top = $(this).offset().top - nav_height,
bottom = top + $(this).outerHeight();
if (cur_pos >= top && cur_pos <= bottom) {
nav.find('a').parent().closest('li').removeClass('current');
$('#cssmenu > ul > li:nth-child(6)').addClass('current');
}
});
sp3.each(function() {
var top = $(this).offset().top - nav_height,
bottom = top + $(this).outerHeight();
if (cur_pos >= top && cur_pos <= bottom) {
nav.find('a').parent().closest('li').removeClass('current');
$('#cssmenu > ul > li:nth-child(3)').addClass('current');
}
});
});
StackOverflow的是不是真的,要求改進的地方工作代碼。 – trincot
噢,好的,thx通知 –