滚动滚动条时,做一些联动操作

转载:https://www.youtube.com/watch?v=lZ-OO7x75Rc

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        *
        {
            margin: 0;
            padding: 0;
        }
        body
        {
            height: 200vh;
            background: #111;
        }
        section
        {
            position: absolute;
            width: 100%;
            height: calc(100% - 200px);
            background: #2abbff;
        }
        section .curve
        {
            position: absolute;
            width: 100%;
            height: 200px;
            bottom: -200px;
            /*转换元素时,原点的位置为top*/
            transform-origin: top;
        }
        section .curve img
        {
            width: 100%;
            height: 100%;
        }
    </style>
</head>
<body>
    <section>
        <span class="curve">
            <img src="curve.png">
        </span>
    </section>
</body>
<script type="text/javascript">
    var scroll = document.querySelector('.curve');
    //这里有一个小知识:当使用滚轮滚动一下鼠标时,会触发两次事件
    //第一次传过来的window.scrollY为起始值,第二次传过来的window.scrollY为终止值
    window.addEventListener('scroll', function () {
        var value = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop;
        //对curve容器使用转换,进行垂直缩放:transform:scaleY(具体的值)
        //根据滚动鼠标的速度值,设置scaleY的大小,每向下滚动一下鼠标,scaleY的值会越接近0,以此达到让curve容器消失的效果 //transform: scaleY(0);
        //每向上滚动一下鼠标,scaleY的值会越接近1,以此达到让curve容器完全显示出来的效果 //transform: scaleY(1);
        //还有就是,每滚动一次鼠标,速度值为100左右,所以如果你想让用户滚动5次鼠标后,就让curve容器消失,则设置value为:1 + window.scrollY / -500
        //如果想让用户滚动3次鼠标后,就让curve容器消失,则设置value为:1 + window.scrollY / - 300
        value = 1 + value / -500;
        scroll.style.transform = "scaleY(" + value + ")";
    })
</script>
</html>

用到的图片:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值