フェードインとフェードアウトでアニメーションスクロールトップを使用すると、この恐ろしいグリッチ(ジャンプまたはフラッシュのようなもの)が発生します。コンテンツが動的に読み込まれる Div があります。ユーザーがメイン ページのメニュー ボタンをクリックすると、ページが一番上までスクロールし、div のフェードアウトを開始し、新しいコンテンツで div を更新してからフェードインします。
半分の時間は正常に動作しますが、残りの半分は故障します。Firefox、Chrome、Opera を試しましたが、すべて同じ動作をします。
function loadPage(url)
{
$("html, body").animate({ scrollTop: 0}, 500);
setTimeout(function (){ $('#centerBox').load(url); }, 1000);
$('#centerBox').fadeOut(1000);
$('#centerBox').fadeIn(1500);
}
コードの説明: メニュー ボタンがクリックされると、上記の関数が呼び出されます。メインページが一番上までスクロールします。div のコンテンツにはタイマーがあるため、コンテンツはフェードアウトが完全に完了した後に変更されますが、フェードインの準備が整うのに十分な時間で変更されます。
これを使用して loadPage(url) 関数を呼び出しています。
<a href="#" onclick="loadPage('news.html');"><img src="buttons/newsWhite.png"/></a>