当你向下和向上滚动时,我有一个带动画的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;
};
});
Run Code Online (Sandbox Code Playgroud)