实现轮播图效果 纯CSS + JS

    div {
        margin-top: 200px;
        margin-left: 300px;
        width: 200px;
        height: 200px;
        border: 2px solid gold;
        overflow:hidden;
    }
    ul {
        width: 1000px;
        height: 200px;
    }
    li {
        list-style: none;
        float: left;
    }
    img {
        width: 200px;
        height: 200px;
    }
    @keyframes move {
            0% {
                transform: translate(0px);
            }
            100% {
                transform: translateX(-1000px);
            }
        }
         li {
            list-style: none;
            float: left;
            animation: move 5s linear infinite;
        }
        <div>
            <ul>
                <li><img src="img/1.png"></li>
                <li><img src="img/2.png"></li>
                <li><img src="img/3.png"></li>
                <li><img src="img/4.png"></li>
                <li><img src="img/5.png"></li>
            </ul>
        </div>

效果展示
在这里插入图片描述

2.使用js

        <div>
                <img class="img-slide" src="img/1.png">
                <img class="img-slide" src="img/2.png">
                <img class="img-slide" src="img/3.png">
                <img class="img-slide" src="img/4.png">
                <img class="img-slide" src="img/5.png">
        </div>

        // index:索引, len:长度
        var index = 0, len;
        // 类似获取一个元素数组
        var imgBox = document.getElementsByClassName("img-slide");
        len = imgBox.length;
        imgBox[index].style.display = 'block';
        // 逻辑控制函数
        function slideShow() {
            index ++;
            // 防止数组溢出
            if(index >= len) index = 0;
            // 遍历每一个元素
            for(var i=0; i<len; i++) {
                imgBox[i].style.display = 'none';
            }
            // 每次只有一张图片显示
            imgBox[index].style.display = 'block';
        }
        
        // 定时器,间隔3s切换图片
        setInterval(slideShow, 1000);
        
    div {
        border-top: 5px solid cadetblue;
        /* 避免因窗口变化影响图片效果 */
        width: 60%;
        height: 40%;
        margin: 0 auto; 
    }
    img {
        width: 60%;
        height: 40%;
        margin: 0 auto;
        display: none;
    }

每1s更换图片

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值