原生JS实现下滑到当前模块时左右滑动到位

效果图:

​​​​​​​

源码: 

<div style="height: 1500px;"></div>

<div class="software-box">
    <div class="software-container" style="display: flex;">
        <div class="software-left" style="background-color: pink;width: 50%;height: 200px;">

        </div>
        <div class="software-right" style="background-color: skyblue;width: 50%;height: 200px;">

        </div>
    </div>
</div>
<style>
    /* donghua */
    .software-left,
    .software-right {
        opacity: 0;
        transform: translateX(-100%);
        /* 左边的模块初始位置在屏幕左侧外 */
        transition: transform 1s ease, opacity 1s ease;
    }

    .software-right {
        transform: translateX(100%);
        /* 右边的模块初始位置在屏幕右侧外 */
    }

    .software-box.in-view .software-left {
        transform: translateX(0);
        opacity: 1;
    }

    .software-box.in-view .software-right {
        transform: translateX(0);
        opacity: 1;
    }
</style>
<script>
    // 开门动画
    document.addEventListener('DOMContentLoaded', function () {
        const softwarebox = document.querySelector('.software-box');

        const observer = new IntersectionObserver((entries) => {
            entries.forEach(entry => {
                if (entry.isIntersecting) {
                    softwarebox.classList.add('in-view');
                } else {
                    softwarebox.classList.remove('in-view');
                }
            });
        }, {
            threshold: 0.5  // 当模块的50%出现在视口中时触发
        });

        observer.observe(softwarebox);
    });
</script>

  • 6
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值