Ich bin neu hier und fange gerade an, über javascript/jQuery zu lernen, ich habe einige Codes, die ich gemacht habe, aber ich denke, es ist nicht eine effektive, es ist zu lang und wiederholen irgendwie die Oder könntest du vielleicht eine einfachere Codeversion von diesem erstellen? Vielen Dank.
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 ist nicht wirklich der Ort zu fragen, für eine Verbesserung Arbeitscode. – trincot
Oh, ok, thx für die Notiz –