"Weiches" Scrollen zu bestimmten Link/Div/Position

Superdok

Erfahrenes Mitglied
Hi,
ich muss eine Seite machen, bei der alles auf einer Seite ist. Es gibt zwar eine Navigation, diese ruft allerdings keine neue Seite auf, sondern springt lediglich zu einer bestimmten Position.
Also es gibt 3 Links in dieser Navigation, alle 3 Seiten sind aber auf einer Seite. Also entweder scrollt man nach unten und findet so die nächste Seite automatisch oder man benutzt die Navigation dafür. Da alles auf einer Seite ist gibt es auch 3 Navigationen.
So nun habe ich es bisher gelöst mit der HTML Sprungmarke
In der Navigation:
Code:
<a href="#nav1">Navigationspunkt1</a>

Dann die "Seite", also irgendwo auf der einen Seite
Code:
<a name="nav1">Hier springt er hin</a>

So nun leider, wie es so ist, springt es natürlich sprunghaft, ich hätte aber gerne, dass beim Klick auf einen solchen Link es "langsam" zu der Sprungmarke scrollt.
Also man klickt auf "Navigationspunkt1" und es Scrollt "langsam" zu der Marke "nav1".
Nun ja ich bin mir nicht sicher, ob sowas geht, aber ich glaube ich habe es schonmal gesehen. Irgendwie muss es ja so gehen, aber ich möchte gerne zu einer bestimmten Position Scrollen also zu der Marke, wie mach ich das dann? Wie lautet die Funktion hierfür?

Code:
 window.scrollBy(...);

Also sowas wie
Code:
function ScrollMe(wert) {
    	window.scrollBy(0,wert); 
		scrolldelay = setTimeout('ScrollMe(30)',1);
}
Aber wie mach ich, dass er aufhört an einer bestimmten Stelle?
 
Zuletzt bearbeitet:
Hi,

mit Javascript-Bordmitteln allein ist das nicht zu realisieren. Es existieren jedoch Frameworks, die entsprechende PlugIns bieten.

Für jQuery gibt es zum Beispiel das PlugIn scrollable, das du so konfigurieren kannst, dass deinen Anforderungen genügt.

Ciao
Quaese
 
Danke, aber wie ich gesehen habe, würde mir es reichen, wenn ich bei
Code:
window.scrollTo(0, 900);
eine Geschwindigkeit einstellen könnte oder es zumindest ein wenig verlangsamen könnte.
Es reicht, wenn ich langsam zu einer bestimmten Psoition (900) scrollen könnte

Ich habe das gefunden
http://demos.flesler.com/jquery/scrollTo/
Aber meine Javascript kenntnisse sind noch nicht alzu fortgeschritten

Ich meine sowas ähnliches, wie wenn man auf options druafklcikt.
 
Zuletzt bearbeitet:
Hi,

wie bereits erwähnt, mit den Bordmitteln von JS ist es nicht realisierbar - es existiert keine Option, der Methode scrollTo ein Argument zu übergeben, das die Scrolldauer oder -geschwindigkeit beeinflusst.

Aber warum verwendest du das von dir gefundene PlugIn nicht? Es ist einfach zu verwenden und bietet zahlreiche Optionen, es anzupassen.

Ciao
Quaese
 
Zurück