Nabend,
Habe auf einer Seite eine Navigation und ein paar Aker
HTML:
<ul>
<li class="first"><a href="#anker1">Anker 1</a></li>
<li class="sec"><a href="#anker2">Anker 2</a></li>
<li class="third"><a href="#anker3">Anker 3</a></li>
<li class="fourth"><a href="#anker4">Anker 4</a></li>
</ul>
<a id="anker1"></a>
<div>
---CONTENT---
</div>
<a id="anker2"></a>
<div>
---CONTENT---
</div>
<a id="anker3"></a>
<div>
---CONTENT---
</div>
<a id="anker4"></a>
<div>
---CONTENT---
</div>
Nun möchte ich, dass wenn man scrollt, den a’s eine Klasse vergeben wird sobald die Anker keinen Abstand mehr nach oben haben.
Mein Ansatz dazu:
jQuery(window).scroll(function() {
var target1 = jQuery('#anker1').offset.top;
var target2 = jQuery('#anker2').offset.top;
var target3 = jQuery('#anker3').offset.top;
var target4 = jQuery('#anker4').offset.top;
if(target1 == 0) {
jQuery('.menu li.first a').addClass('active');
}
else if (target2 == 0) {
jQuery('.menu li.first a').removeClass('active');
jQuery('.menu li.sec a').addClass('active');
}
else if (target3 == 0) {
jQuery('.menu li.first a').removeClass('active');
jQuery('.menu li.sec a').removelass('active');
jQuery('.menu li.third a').addClass('active');
}
else if (target4 == 0) {
jQuery('.menu li.first a').removeClass('active');
jQuery('.menu li.sec a').removelass('active');
jQuery('.menu li.third a').removeClass('active');
jQuery('.menu li.fourth a').addClass('active');
}
});
Kriege keinen Fehler, jedoch passiert auch nichts…
Für mich erscheint es eigentlich ganz logisch. Oder wie würdet ihr es machen?
lg