スクロールダウン時にdivをアニメーションで表示すると、divをアニメーションを完成させずに非常に高速に上下にスクロールすると問題が発生する上部の画面から少しずつ出てきます。スクロールアップ時にdivを元の位置に戻す
.animate()関数で.stop()を削除し、非常に高速に上下にスクロールすると、divはこれをしばらく続けます。
上下にスクロールするときにメニューが画面から出ないという唯一の違いで、上下にスクロールしたときのアニメーションを維持したいのですが、このようなスタックオーバーフローの質問があります。仕事見つかっjsfiddleのコードはここで見つけることができます:
$(window).scroll(function(){
if($(window).scrollTop() > 480 && !animationStarted){
$("#menu").stop().animate({ "top": "+=180px" }, 1000);
animationStarted = true;
};
if($(window).scrollTop() < 480 && animationStarted){
$("#menu").stop().animate({ "top": "-=180px" }, 1000);
animationStarted = false;
};
});
firefoxでテストしましたか? – SpiderCode
ここにアップデートされたバージョンは、Firefoxで動作します:http://jsfiddle.net/myTerminal/QLLkL/13/ – myTerminal
ok。あなたはあなたの答えを更新できますか?他のユーザーも同じように従うことができます。 :) – SpiderCode