2

我正在尝试根据它们与滚动条位置的接近程度来设置一系列 div 的不透明度。

这就是我到目前为止所拥有的 - http://jsfiddle.net/jGeYg/1/

当您位于窗口顶部时,我已设法将不透明度设置为 0,当您到达 div 顶部时,它会提高到 1。

我想要实现的是,直到您在 div 上方 50px 并在您位于 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 回答