首页 > js如何控制背景色透明度从0到1?

js如何控制背景色透明度从0到1?

初始颜色为 rgba(36, 41, 44, 0),当滚动时透明度慢慢向1变化,滚动到100px时,透明度为1。
该如何实现?

滚动代码如下:

window.onscroll = function() {
    var scrollTop = document.body.scrollTop || document.documentElement.scrollTop;
    if(scrollTop >= 100){
        怎么写.....       
    } else {
        code in here........    
    }
});

可以把利用scroll事件控制opacity的值,利用scrollTop的值被100等分

opacity : (scrollTop / 100) * 1//控制他的透明度

我写了一个头部固定透明度变化的demo,可以参考下。

#header{
    position:fixed;
    width:100%;
    height:50px;
    top:0;
    left:0;
    background:rgba(36,41,44,0);
}
var header=document.getElementById('header');
window.onscroll = function() {
var scrollTop = document.body.scrollTop || document.documentElement.scrollTop;
    var opcaity=(scrollTop/100>1)?1:scrollTop/100;
    header.style.background='rgba(36,41,44,'+opcaity+')';
}

获取页面的高度 scrollHeight 窗口的高度 clientHeight .设置页面的变化步数,比如说我从0-1 分成一百个步骤 则每次滚动变换的高度为 (scrollHeight - clientHeight)/steps ,stepsOpacity = 1/steps, 每次滚动这么多距离的时候 opacity += stepsOpacity; 其他的就自己想了

【热门文章】
【热门文章】