Vermeiden Sie das Scrollen / Springen der Seite, wenn sich der Anker in der URL befindet [duplizieren]

Mögliche Duplikate:
jquery - Deaktiviert den Ankersprung beim Laden einer Seite

Ich zeige eine Div abhängig vom Hash-Wert in einer URL an, aber ich möchte vermeiden, dass die Seite mit dieser bestimmten ID zur Position dieser Div springt.

Ich habe nur das Problem, wenn die Seite direkt mit dem Hash in der URL navigiert wird. Sagen Sie also zum Beispiel, wenn jemand das Buch als Seite markiert hat.

So habe ich zum Beispiel die URL domain.com/page.html#myitem-1

ID = myitem-1 wird dann angezeigt, was es tut, aber die Seite springt dann zu der Position des Divs, den ich nicht möchte.

Ich habe versucht, scrollTop (0) zu verwenden, um die Fensterposition nach oben zu zwingen, aber es scheint, als würde dies aufgerufen, bevor der Ankersprung stattfindet, was keine Wirkung hat

Beispielcode:

  $(document).ready(function() {
    $('.glossary-term').hide();
    $(window.location.hash).show();

    $(window).scrollTop(0);

});

Die einzige Möglichkeit, wie ich dieses scrollTop zum Laufen bringen konnte, bestand darin, es in einem setTimeOut mit einer Dauer von 1 zu platzieren, aber dies scheint ein bisschen wie ein Hack zu sein. Irgendwelche anderen Vorschläge?

Vielen Dank

B

Antworten auf die Frage(1)

Ihre Antwort auf die Frage