页面滑动到一定幅度,改变导航条颜色

该文章介绍了一个需求,即当页面向上滑动200像素后,导航条从默认背景色变为有颜色的背景。通过JavaScript监听滚动事件,当滚动位置超过200像素时,给导航条元素添加data-fixed属性,并设定CSS样式使其固定在顶部并改变背景。CSS代码定义了两种状态下的背景效果。
摘要由CSDN通过智能技术生成

有个需求:导航条是默认背景色, 页面向上滑动后,导航条变为有颜色的背景
思路:
js判断滚动条滑动到200像素后
动态给元素设置一个属性data-fixed,
给属性设置个css样式

html

    <div class="main-header" id="main_header">
        <div class="menu">
            <div class="nav">
                <img src="/static/images/logo.png" class="nav-item logo-img">
                <a class="nav-item" href="#">首页</a>
                <a class="nav-item" href="#">展厅</a>
                <a class="nav-item" href="#">资讯</a>
                <a class="nav-item" href="#">加盟</a>
            </div>
        </div>
    </div>

css

    .main-header{
        background-color: rgba(0,0,0,0.1);
        background-image: none;
    }
    .main-header[data-fixed='fixed']{
        position: fixed;top:0;left: 0;right: 0;z-index: 3;
        background-image: linear-gradient(-225deg, #231557 0%, #44107A 29%, #FF1361 67%, #FFF800 100%);
    }

js


    <script>
        //本文来自csdn博客, 禁止采集
        function ceiling(obj){
            var ot = 200;
            document.onscroll = function(){
                var st=document.body.scrollTop || document.documentElement.scrollTop;
                obj.setAttribute("data-fixed",st >= ot ? "fixed":'');
            }
        }
        window.onload=function () {
            var wrap = document.getElementById('main_header');
            ceiling(wrap);
        }
    </script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值