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

ジョセフ・シルバーが言ったように、2 番目の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 に答える