javascript案例7——简易轮播图、2秒切换图片

一、案例描述

图片切换,每隔两秒换一张,目前此效果就放了4张图片,可自行添加。播到最后一张再播第一张。下方文字同时发生变化。

二、案例效果演示

请添加图片描述

三、案例局部代码

css
<style type="text/css">
    #imgBox {
        width: 300px;
        height: 200px;
    }
    
    #imgBox img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    
    #index {
        width: 300px;
        text-align: center;
    }
</style>
html
 <div id="imgBox">
    <img src="" id="img" />
 </div>
 <div id="index">第1张</div>
js
<script>
  // 获取页面图片元素的路径
     var imgBox = document.querySelector('img');
     var div = document.querySelector('#index');
     // 将图片的路径以数组的形式存放。
     var imgs = ['./img/bg1.png', './img/bg2.jpg', './img/bg3.jpg', './img/bg4.jpeg'];
     var imgIndex = 0; //默认为第一张图片
     imgBox.src = imgs[imgIndex];//刚上来页面默认显示第一张
     var t = setInterval(changeImg, 2000);//每两秒调用一次
     // 函数封装
     function changeImg() {
         imgIndex++;
         if (imgIndex == imgs.length) {
             imgIndex = 0;
         }
         imgBox.src = imgs[imgIndex];
         div.innerHTML = '第' + (imgIndex + 1) + '张';
     }
</script>

四、案例整体代码

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>轮播图</title>
    <style type="text/css">
        #imgBox {
            width: 300px;
            height: 200px;
        }
        
        #imgBox img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }
        
        #index {
            width: 300px;
            text-align: center;
        }
    </style>
</head>

<body>
    <div id="imgBox">
        <img src="" id="img" />
    </div>
    <div id="index">第1张</div>
    <script>
        // 获取页面图片元素的路径
        var imgBox = document.querySelector('img');
        var div = document.querySelector('#index');
        // 将图片的路径以数组的形式存放。
        var imgs = ['./img/bg1.png', './img/bg2.jpg', './img/bg3.jpg', './img/bg4.jpeg'];
        var imgIndex = 0; //默认为第一张图片
        imgBox.src = imgs[imgIndex];//刚上来页面默认显示第一张
        var t = setInterval(changeImg, 2000);
        // 函数封装
        function changeImg() {
            imgIndex++;//每两秒换一张,所以索引要加1
            if (imgIndex == imgs.length) {//如果当前索引是最后一个
                imgIndex = 0;//那么再轮播第一张
            }
            imgBox.src = imgs[imgIndex];
            div.innerHTML = '第' + (imgIndex + 1) + '张';//下方文字随之变化
        }
    </script>
</body>

</html>

五、总结

可更改轮播时间、以及图片张数。如果想变的更好看,改改css样式即可。

  • 4
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值