Hallo liebes Forum,
ich habe gerade mal angefangen mich ein bisschen mit Javascript auseinanderzusetzen und habe versucht einen Code ein bisschen umzubauen.
Leider bring es nicht das erwünschte Ergebnis und jetzt hoffe ich auf ein bisschen Hilfe.
Ich benötige eine Alternative zu ScrollTop: Ich möchte nicht den bereits gescrollten Bereich abmessen, sondern eine Anweisung ausführen wenn ein div Container einen bestimmten Abstand zum oberen Rand hat.
Im konkreten Beispiel: Hat der div Container #back einen top-Abstand von 0 soll sich die CSS Klasse des Containers #box von .inactive zu .active ändern.
Ich habe es bisher nur so hinbekommen, dass bei einem bestimmten gescrollten Bereich sich die Klasse ändert. Allerdings wird der Text dann ausgeblendet was eigentlich nicht sein soll (es soll sich nur die position von relative zu fixed ändern, wie in den Klassen angegeben)
Ich habe schon versucht scrollTop durch pageY und die $(window) durch $('#back') zu ersetzen, aber das war wohl nicht der richtige Ansatz
Ich denke da sind nur einige Anfängerfehler drin, die wahrscheinlich recht schnell zu lösen sind.
Ich freue mich über Lösungsansätze.
ich habe gerade mal angefangen mich ein bisschen mit Javascript auseinanderzusetzen und habe versucht einen Code ein bisschen umzubauen.
Leider bring es nicht das erwünschte Ergebnis und jetzt hoffe ich auf ein bisschen Hilfe.
Ich benötige eine Alternative zu ScrollTop: Ich möchte nicht den bereits gescrollten Bereich abmessen, sondern eine Anweisung ausführen wenn ein div Container einen bestimmten Abstand zum oberen Rand hat.
Im konkreten Beispiel: Hat der div Container #back einen top-Abstand von 0 soll sich die CSS Klasse des Containers #box von .inactive zu .active ändern.
Ich habe es bisher nur so hinbekommen, dass bei einem bestimmten gescrollten Bereich sich die Klasse ändert. Allerdings wird der Text dann ausgeblendet was eigentlich nicht sein soll (es soll sich nur die position von relative zu fixed ändern, wie in den Klassen angegeben)
Ich habe schon versucht scrollTop durch pageY und die $(window) durch $('#back') zu ersetzen, aber das war wohl nicht der richtige Ansatz
Ich denke da sind nur einige Anfängerfehler drin, die wahrscheinlich recht schnell zu lösen sind.
Ich freue mich über Lösungsansätze.
Code:
<script>
$(document).ready(function() {
var myPosY;
$(window).bind( 'scroll', function() {
myPosY = $(window).scrollTop();
if ( myPosY >= 700 && $('#box').hasClass('inactive') ) {
$('#box').removeClass('inactive');
$('#box').addClass('active');
}
else if ( myPosY < 700 && $('#box').hasClass('active') ) {
$('#box').removeClass('active');
$('#box').addClass('inactive');
}
});
});
</script>
Zuletzt bearbeitet: