0

首先,我知道这已被多次介绍,但我就是不知道如何正确插入脚本......

我想要一个 div 在滚动下降时改变不透明度......

我现在拥有的是:FIDDLE

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

它根本不起作用,甚至不靠近..我需要帮助我不知道我是否也写对了!

感谢您的回答,如果您需要我的更多信息,请询问!

4

1 回答 1

1

下一次,请测试你的小提琴(你把 JS+CSS 放在错误的盒子里,你没有包含 jQuery)。

这是您的解决方案

我更改了 CSS 定义以使其更易于测试(我使用的高度比你小)。除此之外,这里是相关的JS代码:

$('div#liners').scroll(function() {
    var st = $(this).scrollTop();
    var h = this.scrollHeight;
    $(this).css({
        'opacity': 1 - st / h
    });
});

您需要捕获div的滚动,获取内容的大小(h在我的代码中)并滚动位置。

编辑:我突然想到你希望这一切都依赖于窗口滚动,而不是 div 内容(我没有看到这样做的目的,所以我之前没有想到)。在这种情况下,只需调整我的代码以捕获窗口的滚动,就像您在最初的尝试中所做的那样。

于 2013-07-11T13:58:41.913 回答