Schlagwort-Archive: JavaScript

Smooth Scroll mit Offset – Seiten übergreifend

Anklicken eines Ankerlinks, dann sanftes Scrollen zur Scrollposition, ggf. mit Offset. Im Idealfall sollte dies sowohl innerhalb einer Seite als auch über mehrere Seiten hinweg funktionieren.

Die css Anweisungen:

nutzen und gut ist. Oder?

Leider ist das nicht so einfach.

Eine Smooth-Scroll-Funktion zu einem Anker mit Offset, die sowohl seitenintern als auch seitenübergreifend funktioniert, ist nicht so einfach zu realisieren, wie es auf den ersten Blick scheinen mag, auch wenn manche Youtube-Tutorials dies suggerieren.

Einige Browser verhalten sich nicht in allen Situationen wie erwartet. Beispielsweise funktioniert der obige Code bei seitenübergreifenden Ankerlinks im Firefox derzeit nicht. Firefox ignoriert die Anweisung smooth.

Wird der Seitensprung selbst mit Javascript programmiert, treten weitere Probleme auf. Zum einen kann das Standardverhalten des Browsers, der den Ankerlink ausführt, bevor die eigenen Funktionen greifen, einen Strich durch die Rechnung machen. Zum anderen können Animationseffekte von Elementen auf der Zielseite die Berechnung der Ankerposition verfälschen.

Ein kurzes Googeln ergibt zwar unzählige Lösungen zur Implementierung von Smooth Scroll, die auf den ersten Blick auch funktionieren, aber bei den meisten habe ich im Laufe der Zeit immer wieder Probleme der oben genannten Art festgestellt.

Meine Scroll-Lösung sieht nun so aus. Einige Funktionen, wie z.B. die kurze Zeitverzögerung, erscheinen auf den ersten Blick unnötig, sind aber in der Praxis notwendig.

Smooth Scroll mit Offset – Seiten übergreifend weiterlesen

JQuery und jquery UI – die eigene Website mit innovativen Animationen und Effekten ausrüsten

JQuery ist nicht umsonst eines der beliebtesten Javascript-Frameworks. Mit wenigen Zeilen Code erstellt man tolle Animationen und Effekte, sodass die eigene Website ein ganzes Stück näher an eine Desktop Anwendung rückt. Das tolle von jQuery: man braucht sich nicht grundsätzlichen JavaScript Funktionen und mit Browser-Inkompatibilitäten rumschlagen, das übernimmt das Framework.

Als Ergänzung zu jQuery gibt es jQuery UI. Damit sind Widgets wie Akkordeon, Autoausfüll-Felder, Dialog Boxen, Schieberegler, Tabs bzw. Register, Datumpicker, Fortschrittsbalken, Effekte und sogar Interaktionen wie verschiebbare, selektierbare, vergrößerbare und sortierbare  Objekte in Null Komma Nix erstellt.

Hier ein kleines jQuery und jQuery Ui Anfänger Tutorial: jQuery Tutorial