Feste Scrollpunkte mit JS definieren
Hallo zusammen,
ich habe ein kleines Problem und habe bisher leider noch keine Lösung hierfür gefunden, was auch daran liegen mag, dass mir js leider weitgehenst fremd ist.
Ich habe eine Webseite, bei der bei entsprechender Scrollbewegung abhängig von der aktuellen Position direkt zu einem anderen Div oder dem Seitenanfang gesprungen werden soll.
Ich will also, dass wenn ich on Top bzw. den oberen paar hundert Pixeln der Seite bin und nach unten scrolle, zu einem bestimmten Div gescrollt wird. Bin ich unterhalb dieses Divs und will nach oben darüber hinaus scrollen, soll direkt zum Anfang der Seite gescrollt werden.
Mein erster Ansatz hierfür war:
$(window).scroll(function () {
div = document.getElementById('top');
if(div.scrollTop==0){
$('html, body').animate({
scrollTop: $("#content").offset().top
}, 2000);
}
});
Die Probleme hierbei sind, dass zum einen keine Scrollrichtung ermittelt wird und zum anderen nur vom Anfang der Seite zu #content gescrollt wird, wenn ich nach oben scrolle und nicht runter...
Ihr merkt schon, ich habe von Javascript leider sehr wenig Ahnung und bin daher echt hilfebedürftig.
Könnte mir vll. bitte jemand nen Tip geben, wie ich zum einen die Scrollrichtung ermitteln und anhand dieser und der scroll position das automatische Scrolling in den Griff bekommen kann?
Ich würde also gerne wissen, wie ich etwas in dieser Richtung erreichen kann:
if scroll.top==0 && $(window).scoll.down {
$('html, body').animate({
scrollTop: $("#content").offset().top
}, 2000);
}
if scroll.top<positionOf('#content') && $(window).scoll.up {
scrollTop: $("#top").offset().top
}, 2000);
}
is mir klar, dass das syntaxtechnisch totaler Schwachsinn ist, aber ich hoffe so kommt rüber, welche Funktionalität ich mir erhoffe.
Für jeden auch noch so kleinen Tip bin ich sehr dankbar!
Many thanks!
SpaceDevil
|