0

我正在尝试使用 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);
        }
    }

});
4

1 回答 1

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);
    }

});
于 2012-08-12T05:26:52.473 回答