2

スクロールバーの位置への個々の近さに基づいて、一連の div の不透明度を設定しようとしています。

これは私がこれまでに持っているものです - http://jsfiddle.net/jGeYg/1/

ウィンドウの上部にいるときは不透明度を0に設定し、divの上部に到達すると不透明度を1に上げました。

私が達成しようとしているのは、div の 50 ピクセル上になるまで不透明度を上げ始めず、div の上部にいるときに完全な不透明度に達することです。基本的に不透明度が変化する範囲です

$('div').position().top - 50 -> $('div').position().top //psuedo code

プラグインは使いたくない。コードではなく数学に問題があります。

4

2 に答える 2

1

http://jsfiddle.net/b9ZCk/3/ 位置と不透明度を示すデバッグ テキストを追加しました。

于 2012-06-12T17:28:14.927 に答える
1

これがあなたが望む望ましい効果かどうかはわかりません..しかし、試してみて、私に知らせてください.

$(window).scroll(function() {
    var st = $(this).scrollTop();
    $('.block').each(function(index) {
        if (($(this).offset().top-st) < 50) {
            $(this).css({
                'opacity': (0 + (st / $(this).offset().top))
            });
        } else {
            $(this).css({'opacity': 0.1});
        }
    })
});

デモ: http://jsfiddle.net/skram/jGeYg/5/

于 2012-06-12T17:32:13.443 に答える