jQuery の読み込み直後にブラウザ ウィンドウをスクロールしようとすると問題が発生します。コンテンツは正常にロードされ、ロードが完了すると呼び出される関数が呼び出されています。ただし、次のようにタイムアウトを 300 ミリ秒に設定した場合にのみ、ページを実際にスクロールできます。
frame.html("#box").load("loadedfile.php", function(){
setTimeout(function() {
$('html,body').animate({
scrollTop: $("#framed").offset().top
}, 750);
},300);
});
コンテンツがロードされた後、ブラウザーがスクロールできるようになる前に、ロード完了機能が実行されているようです (スクリプトをホストするページは、最初はスクロールバーをアクティブにするのに十分な長さではないため)。
私の回避策はずさんな感じで、おそらくそうです。これを処理するより良い方法はありますか?タイムアウトは、これを処理するための信頼できる方法とは思えません。
.animate に加えて、window.scrollTo と jQuery scrollTo プラグインを試しました。