javascript - js如何控制背景色透明度从0到1?
天蓬老师
天蓬老师 2017-04-11 09:02:07
[JavaScript讨论组]

初始颜色为 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........    
    }
});
天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全部回复(4)
黄舟

我写了一个头部固定透明度变化的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+')';
}
怪我咯
$(window).scroll(function(){

    var scrollTop = $(this).scrollTop(); 
    
    var opacity;
    /* 透明度初始为1,随着滚动逐渐为0 */
    opcaity = (1 - (scrollTop / 100)<0) ? 0 : 1 - (scrollTop / 100);
    /* 透明度初始为0,随着滚动逐渐为1 */
    opcaity = (scrollTop / 100 > 1) ? 1 : scrollTop / 100;
    
    $(element).css('opacity', opcaity);

});
阿神

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

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

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号