jQuery动画中的延迟
问题描述:
我正在尝试使用jQuery为div的不透明度设置动画效果。当我不使用if/else语句时它工作正常,但是当我这样做时,动画发生之前会有一段延迟。我尝试将延迟设置为'0',但这并没有帮助。下面是代码:jQuery动画中的延迟
$(window).scroll(function(){
if ($(this).scrollTop() > 60){
$('#navStick').fadeTo("slow", 1);
} else {
if ($(this).scrollTop() <= 60){
$('#navStick').fadeTo("slow", 0);
}
}
});
答
正如约瑟夫·西尔伯说,第二if
说法是多余的。控制将只能达到这一点,如果是小于或等于60
试试你的动画
$(window).scroll(function(){
if ($(this).scrollTop() > 60){
$('#navStick').stop(true).fadeTo("slow", 1);
} else {
$('#navStick').stop(true).fadeTo("slow", 0);
}
});
+1
不需要单独清除队列。只需使用“停止(true)”。请参阅[文档](http://api.jquery.com/stop/)。 – 2012-08-12 05:29:32
+0
是的,工作,非常感谢! – 2012-08-12 05:31:05
之前使用
.stop(true)
为什么第二个'if'声明?这是一个给定的! – 2012-08-12 05:23:21由于某些原因,当我添加第二个if语句时,它加快了速度。 – 2012-08-12 05:30:05
对不起,但这是*不可能*(我不会经常使用这个词在编程方面)。 – 2012-08-12 05:31:44