@@io
Ich möchte meinen Eventhandler nicht vor sondern unmittelbar nach dem Default-Verhalten ablaufen lassen. Lässt sich ein eigener Eventhandler überhaupt derart an ein Event binden, dass er als letztes ausgeführt wird?
Ich glaub, du bist auf dem falschen Event.
Nach jedem Klick in der Navigtion soll ein interner Anker angesprungen werden.
Beim Wechsel eines seiteninternen Ankers feuert das hashchange
-Event …
Unmittelbar danach soll durch meinen Eventhandler die Seite um 30px nach unten gescrollt werden.
… damit kannst du nach dem Anspringen des Ankers das Ganze um die Höhe der fixen Navigationsleiste nach unten verschieben …
Und nur diesen Endzustand soll der Benutzer zu Gesicht bekommen. Hat mit der 30px hohen Navigation zu tun, die oben immer mitwandert.
… wobei es überhaupt keine gute Idee ist, von einer festen Höhe (30px oder sonstwas) auszugehen. Was, wenn die Menüitems nicht in eine Zeile passen?
Also: die Höhe der Navigationsleiste erstmal mit JavaScript bestimmen, dann um diesen Betrag runterscrollen.
☞ Codepen (Ursprünglich erstellt für dieses Posting. In jenem Thread findest du auch noch eine andere Lösung.)
LLAP 🖖
„Wer durch Wissen und Erfahrung der Klügere ist, der sollte nicht nachgeben. Und nicht aufgeben.“ —Kurt Weidemann