粘性定位应用

现象:当页面滑动到某个位置时,图片吸顶。

思路:创建一个father背景。包含内容和需要吸顶的背景图

当滚轮运动距离大于800px时,将吸顶图的position设置为sticky,距离顶部改为0px。

html代码:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>123</title>
    </head>
    <style>
        .back{
            background-image: url(img/b3.jpg);
            /* background-repeat: no-repeat; */
            top: 800px;
            height: 1080px;
            width: 1000px;
            position: absolute;
            
        }
        .content{
            position: absolute;
            top: 9px;
        }
        .p{
            font-size: 110px;
            color: cornflowerblue;
            border: 1px solid rebeccapurple;
        }
        .father{
            width: auto;
            height: 8000px;
            background-color: gray;
        }
    </style>
    <script src="js/jquery-3.7.0.min.js"></script>
    <script src="js/back.js">
    </script>    
    <body>
        <div class="father">
            <div class="back">背景图</div>
            <div class="content">
                <div class='p'>大家好我是渣渣灰</div>
                <div class='p'>大家好我是渣渣灰</div>
                <div class='p'>大家好我是渣渣灰</div>
                <div class='p'>大家好我是渣渣灰</div>
                <div class='p'>大家好我是渣渣灰</div>
                <div class='p'>大家好我是渣渣灰</div>
                <div class='p'>大家好我是渣渣灰</div>
                <div class='p'>大家好我是渣渣灰</div>
                <div class='p'>大家好我是渣渣灰</div>
                <div class='p'>大家好我是渣渣灰</div>
                <div class='p'>大家好我是渣渣灰</div>
                <div class='p'>大家好我是渣渣灰</div>
                <div class='p'>大家好我是渣渣灰</div>
                <div class='p'>大家好我是渣渣灰</div>
                <div class='p'>大家好我是渣渣灰</div>
                <div class='p'>大家好我是渣渣灰</div>
                <div class='p'>大家好我是渣渣灰</div>
                <div class='p'>大家好我是渣渣灰</div>
                <div class='p'>大家好我是渣渣灰</div>
                <div class='p'>大家好我是渣渣灰</div>
                <div class='p'>大家好我是渣渣灰</div>
                <div class='p'>大家好我是渣渣灰</div>
                <div class='p'>大家好我是渣渣灰</div>
                <div class='p'>大家好我是渣渣灰</div>
                <div class='p'>大家好我是渣渣灰</div>
                <div class='p'>大家好我是渣渣灰</div>
                <div class='p'>大家好我是渣渣灰</div>
                <div class='p'>大家好我是渣渣灰</div>
                <div class='p'>大家好我是渣渣灰</div>
                <div class='p'>大家好我是渣渣灰</div>
            </div>
        </div>
    </body>
    <script>
        ScrollEvent()
    </script>
</html> 

JS代码:

function ScrollEvent(){
    addEventListener("scroll", (event) => {
        const scrollX = window.scrollX;
        const scrollY = window.scrollY;
        if ( 0<=scrollY && scrollY<=800){
            //$('.back').css('background-attachment', 'scroll')
            $('.back').css('position', 'absolute')
            $('.back').css('top', '800px')
        }else if(800<scrollY){
            //$('.back').css('background-attachment', 'fixed')
            $('.back').css('position', 'sticky')
            $('.back').css('top', '0px')
        }
        
    });
}

  • 9
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值