jQuery の animate() 関数を jQuery UI プラグインのイージングと組み合わせて使用して、サイドバーのリンクでページを下にスクロールするアニメーションを作成しています。また、「トップに戻る」ボタンの操作にも使用しています。ここでライブを見ることができます:http ://www.element17.com/
トップに戻るボタンは完全に機能していますが、リンクの動作が不安定です。うまく機能する場合もあれば、スクロールを拒否したり、1、2 秒待ってからスクロールしたり、まったくアニメーション化せず、そもそもスクリプト化されていないかのようにページを下にジャンプしたりすることもあります。
トップに戻るボタンのコードは次のとおりです。
$('#go_up').click(function(){
$('#main').animate({scrollTop:0}, 2000, 'easeOutExpo');
});
リンクのコードは次のとおりです。
$('.scroll').click(function(){
$('#main').animate({scrollTop:$(this.hash).offset().top}, 3000, 'easeOutExpo');
});
OSX と Windows の Chrome でこれをテストしましたが、動作はどちらも不安定です。なぜこれが当てはまるのか、誰かが示唆できますか?