我正在尝试使用jQuery为div的不透明度设置动画。当我不使用这个if / else语句时它工作正常,但是当我这样做时,在动画发生之前会有一段延迟。我尝试将延迟设置为'0',但这没有帮助。这是代码:
$(window).scroll(function(){
if ($(this).scrollTop() > 60){
$('#navStick').fadeTo("slow", 1);
} else {
if ($(this).scrollTop() <= 60){
$('#navStick').fadeTo("slow", 0);
}
}
});
答案 0 :(得分:4)
正如Joseph Silber所说,第二个if
陈述是多余的。只有当控制小于或等于60时,控制才会达到该点。
在动画播放之前尝试使用.stop(true)
$(window).scroll(function(){
if ($(this).scrollTop() > 60){
$('#navStick').stop(true).fadeTo("slow", 1);
} else {
$('#navStick').stop(true).fadeTo("slow", 0);
}
});