0
$(document).scroll(function() {

    var distanceLeft = $(document).scrollLeft();

    if( distanceLeft > 3800)
    {
        $('#first_circle').animate({
            opacity: 1
        }, 1000);
    }

    if( distanceLeft < 3800)
    {
        $('#first_circle').animate({
            opacity: 0
        }, 1000);
    }
)};

こんにちは私はこれを修正しようとしています。スクロールが3800を超えると、divがフェードインし、ユーザーがスクロールバックするとフェードアウトしますか?ご入力ありがとうございます

4

2 に答える 2

2

vars を変更して数学を追加するだけです: http://jsfiddle.net/z7E9u/155/

于 2012-08-11T19:38:01.947 に答える
0

もちろん、 mkey answerのような簡単な方法を使用できます。ただし、 「アニメーション化」するためにもっと複雑なものが必要な場合は、jQuery Transeを試してください。まさにこの問題に対する徹底的な解決策です現在のスクロール オフセットに基づいてほとんどすべてを変更できます (CSS3 変換などでも)。

あなたの場合、次のようなことを試してください:

$('#fading').transe({
    direction: 'x',
    start: 3575,
    end: 4150,
    css: 'opacity',
    from: 0,
    to: 1
});

デモ

于 2013-02-22T12:14:39.687 に答える