Javascript 滚动时逐渐增加不透明度

Javascript 滚动时逐渐增加不透明度,javascript,jquery,css,if-statement,scroll,Javascript,Jquery,Css,If Statement,Scroll,我正在努力找出如何修改一些现有代码,以复制我在网站上看到的功能。如果您转到此站点:,当您向下滚动时,您将看到图像变得不透明。我的提琴在某种程度上做到了这一点,但我不知道如何应用较暗的不透明度,并逐步增加不透明度,而不是一次全部增加 我知道不透明度的级别是通过javascript改变的,我只是不知道如何修改它以获得我想要的结果 var scrollPosition = $(this).scrollTop(); var docHeight = $(document).heig

我正在努力找出如何修改一些现有代码,以复制我在网站上看到的功能。如果您转到此站点:,当您向下滚动时,您将看到图像变得不透明。我的提琴在某种程度上做到了这一点,但我不知道如何应用较暗的不透明度,并逐步增加不透明度,而不是一次全部增加

我知道不透明度的级别是通过javascript改变的,我只是不知道如何修改它以获得我想要的结果

var scrollPosition = $(this).scrollTop();
            var docHeight = $(document).height();
            var diff = docHeight - scrollPosition;
        console.log(scrollPosition);
        $('#demolition1').css({'opacity':diff/docHeight});


#主页主界面界面界面界面界面界面界面界面界面界面界面界面界面界面界面界面界面界面界面界面界面界面界面界面界面界面界面界面界面界面界面界面界面界面界面界面界面界面界面界面界面界面界面界面界面界面界面界面界面界面界面界面界面界面界面{
宽度:100%;
高度:自动;
保证金:0;
显示:块;
}
#家庭主img{
背景:#000;
}
.身高{
高度:500px;
}
$(文档)。滚动(功能(e){
var scrollPosition=$(this.scrollTop();
var docHeight=$(document).height();
var diff=八位-滚动位置;
控制台日志(滚动位置);
$(#demolition1').css({'opacity':diff/docHeight});
});

您可以使用图像高度而不是文档来获得正确的不透明度百分比

$(document).scroll(function(e){
        var scrollPosition = $(this).scrollTop();
        var imgHeight = $('#demolition1').height();

        var diff = imgHeight - scrollPosition;
    $('#demolition1').css({'opacity':diff/imgHeight});
});

您可以使用图像高度而不是文档来获得正确的不透明度百分比

$(document).scroll(function(e){
        var scrollPosition = $(this).scrollTop();
        var imgHeight = $('#demolition1').height();

        var diff = imgHeight - scrollPosition;
    $('#demolition1').css({'opacity':diff/imgHeight});
});

我认为您的错误是将
diff
设置为文档高度,而不是要淡出的项目的高度

您的JS应该类似于:

var $item = $('#demolition1');

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

        var $this = $(this),
        scrollPosition = $this.scrollTop(),
        itemHeight = $item.height(),
        diff = itemHeight - scrollPosition;

    console.log(scrollPosition);
    $item.css({'opacity': (diff/itemHeight) });

});

这是一个有用的JS提琴:

我认为您的错误是将
diff
设置为文档高度,而不是要淡出的项目的高度

您的JS应该类似于:

var $item = $('#demolition1');

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

        var $this = $(this),
        scrollPosition = $this.scrollTop(),
        itemHeight = $item.height(),
        diff = itemHeight - scrollPosition;

    console.log(scrollPosition);
    $item.css({'opacity': (diff/itemHeight) });

});

这里有一个正在工作的JS提琴:

有没有一种方法可以完全控制不透明度?例如,假设我想把它的不透明度限制在.8。有办法做到这一点吗?有办法完全控制不透明度吗?例如,假设我想把它的不透明度限制在.8。有办法做到这一点吗?有办法完全控制不透明度吗?例如,假设我想把它的不透明度限制在.8。有办法做到这一点吗?有办法完全控制不透明度吗?例如,假设我想把它的不透明度限制在.8。有办法吗?