Nabend,
Habe auf einer Seite eine Navigation und ein paar Aker
HTML:
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:
Kriege keinen Fehler, jedoch passiert auch nichts...
Für mich erscheint es eigentlich ganz logisch. Oder wie würdet ihr es machen?
lg
Habe auf einer Seite eine Navigation und ein paar Aker
HTML:
Code:
<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:
Code:
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