Nach Seitenladen zu Anchor scrollen

DrEvil

Erfahrenes Mitglied
Hallo Leute,
ich versuche mich daran, eine Seite dazu zu bringen, nach dem Laden zu einem bestimmen Anchor zu scrollen (z.B.: http://www.domain.de/index.php#anchor).

Wenn die Seite bereits einmal geladen wurde und ich dann nochmal einfach Enter drücke, funktioniert es auch. Nur wenn die Seite zum ersten Mal aufgerufen wird nicht...

Meine eigene Vermutung ging dann also in die Richtung, dass evtl. die Position des Anchors noch nicht richtig geladen wurde, oder ähnliches, also habe ich sowohl mit $(document).ready(...); und $(window).load(...); rumgespielt. Dann habe ich es auch versucht, das Script im <head> unterzubringen oder am Ende vor dem </body>, leider alles ohne Erfolg. :(

Meine beiden Script-Varianten sehen so aus:
Code:
<script>
$(document).ready(function(){
    if(window.location.hash){
        var $target  = $(window.location.hash);
        if($target.length)
            $('html, body').animate({scrollTop: $target.offset().top-80}, 1000);
    }
});

$(window).load(function() {
    if(window.location.hash){
        var $target  = $(window.location.hash);
        if($target.length)
            $('html, body').animate({scrollTop: $target.offset().top-80}, 1000);
    }
});
</script>

Kann mir wer helfen?

Danke!
 
Zurück