12

#container div のスクロール イベントで boxShadow をアニメーション化しようとしています。boxShadowsがアニメーション化できるように、スクロールバーが一番上に達していることを検出する良い方法が見つからないことを除いて、すべてが機能します。これはこれまでの私のコードです

   $('#container').scroll(
        function()
        {
            $('#white').animate(
            {
                boxShadow: "0 8px 8px -7px #696868"
            },
            "fast"); 
            if ($('#container').scrollTop() == 0)
            {
                $('#white').animate(
                {
                    boxShadow: "0 0 0 0 #696868"
                },
                "fast");
            }
        }
    );

デモを追加しました。最初のスクロール アニメーションは完全に機能しますが、バーが一番上に戻ると、2 番目のアニメーションが始まるまでかなり長い遅延があります。http://jsfiddle.net/JYqC3/14/

4

1 に答える 1

19

お役に立てれば

使用済み.scrollTop

$('#my_div').scroll(function() {
    var pos = $('#my_div').scrollTop();
    if (pos == 0) {
        alert('top of the div');
    }
});

デモ

編集:デモに追加されたより良いアニメーション

于 2012-04-27T03:17:26.493 に答える