可能性のある複製:
jquery-ページの読み込み時にアンカーの「ジャンプ」を無効にする
URLのハッシュ値に応じてdivを表示していますが、特定のIDを持つdivの位置にページがジャンプするのを避けたいです。
私が問題を抱えているのは、URLのハッシュを使用してページが直接ナビゲートされるときだけです。たとえば、誰かが本にページをマークした場合などです。
だから例えば私はurl domain.com/page.html#myitem-1
次に、ID = myitem-1が表示されますが、表示されますが、ページは、不要なdivの位置にジャンプします。
ScrollTop(0)を使用してウィンドウの位置を強制的に上に戻そうとしましたが、アンカージャンプが行われる前にこれが呼び出されたかのように見えます
コード例:
$(document).ready(function() {
$('.glossary-term').hide();
$(window.location.hash).show();
$(window).scrollTop(0);
});
このscrollTopを機能させる唯一の方法は、durationを1に設定したsetTimeOutに配置することでしたが、これは少しハックのようです。他に何か提案はありますか?
ありがとう
B
まあ、それがdivを表示するためだけにアンカーを使用するための内部メカニズムである場合は、「名前」属性をいつでも変更(または削除)できるため、ブラウザーはそれを直接検出せず、スクロールしようとしません;)
それ以外の場合は ページのロード時にアンカーの「ジャンプ」を無効にする方法