ページ上の要素へのスムーズなスクロールを行うために、jQuery で scrollTo 関数を使用しています。同じページ内のターゲットを含むリンクをクリックすると、正常に機能します。
私の問題は、ページの読み込み時に外部ページでも直接動作するようにしたいことです (otherDoc.aspx?a=elementId および if Request.QueryString...)。問題は、すべてのコンテンツが完全にロードされていない可能性があり、要素の位置が変化する可能性があるため、正しい位置までスクロールしないことです。つまり、低速の接続では結果がさらに悪化します。setTimeout を実行して遅延をテストしようとしたところ、正しい位置にスクロールしました。オプションとして、外部リンクに単純なアンカー #myAnchor を実行することもできますが、スムーズなスクロールにより、より快適な感覚が得られます。
私のコード:
<script>
$(document).ready(function () {
$(window).scrollTo("#" + elementId, 1000);
});
</script>
助言がありますか?ありがとう!