当滚动向上滚动时,我有一个带有动画的div,问题是当我上下快速滚动而没有让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
好的。你能更新你的答案吗?以便其他用户可以遵循相同的步骤。 :) – SpiderCode