js小案例-轮播图(定时器)

1.找几张你喜欢的图片

2.新建一个HTML页面

3.给一个div把img放进去加上第一张图片

html代码如下:

<div>

        <img src="1.jpg" alt="">
 </div>

css代码如下:

 div {
            width: 1000px;
           
        }

img {
            width: 100%;
        }

4.在div元素的下面新建一个script标签添加效果:

这里因为我们要做轮播图,所以我们用定时器
定义一个定时器:每1s切换一张图片,一共四张图片,在定时器内声明函数,这里需要定义一个变量 index用来接受图片,把图片的路径赋值给图片的src值,图片每变化一次,我们让 index自增,这里做一个判断当 index 自增到4时,让 index 等于0,这样就可以一直不停地变化下去,达到轮播的效果。

js代码如下:

<script>
        let img = document.querySelector('img');//获取元素
        let imgArr = ['1.jpg', '2.jpg', '3.jpg', '4.jpg',];//把需要轮播的图片用数组装起来
        let index = 0;//声明一个变量接受图片
        setInterval(function () {
            index++;
            if (index >= imgArr.length) {//判断index值如果大于等于数组内的长度index就等于0,就是数组的第一个索引号
                index = 0;
            }
            img.src = imgArr[index];//最后把得到的索引号赋值给src属性,就是我们轮播所得到的图片
        }, 1000);//这里1000代表1000毫秒等于1秒
    </script>

js的定时器分为两种

1、延时定时器:两种方法

      开始延时定时器:setTimeout()
      清除延时定时器:clearTimeout()


2、循环定时器:两种方法

    开始循环定时器:setInterval()
    清除循环定时器:clearInterval()


完整代码如下有问题可以留言,觉得可以的话,点个赞再走哦

<!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>
        div {
            width: 1000px;

        }

        div img {
            width: 100%;
        }
    </style>
</head>

<body>
    <div>

        <img src="1.jpg" alt="">
    </div>
    <script>
        let img = document.querySelector('img');
        let imgArr = ['1.jpg', '2.jpg', '3.jpg', '4.jpg',];
        let index = 0;
        setInterval(function () {
            index++;
            if (index >= imgArr.length) {
                index = 0;
            }
            img.src = imgArr[index];
        }, 1000);
    </script>
</body>

</html>

以下是一个使用 JavaScript 实现的简单的轮播图案例: ```html <!DOCTYPE html> <html> <head> <title>JavaScript 案例轮播图</title> <style> #slideshow { position: relative; width: 600px; height: 400px; margin: 0 auto; overflow: hidden; } #slideshow img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; opacity: 0; transition: opacity 1s ease-in-out; } #slideshow img.active { opacity: 1; } #slideshow button { position: absolute; top: 50%; transform: translateY(-50%); background-color: #fff; border: none; padding: 10px; cursor: pointer; font-size: 24px; } #slideshow button.prev { left: 0; } #slideshow button.next { right: 0; } </style> <script> var images = ["image1.jpg", "image2.jpg", "image3.jpg", "image4.jpg"]; var index = 0; var slideshow = document.getElementById("slideshow"); var prevButton = document.createElement("button"); var nextButton = document.createElement("button"); function init() { prevButton.innerHTML = "❮"; prevButton.classList.add("prev"); prevButton.addEventListener("click", prevSlide); nextButton.innerHTML = "❯"; nextButton.classList.add("next"); nextButton.addEventListener("click", nextSlide); slideshow.appendChild(prevButton); slideshow.appendChild(nextButton); showSlide(); setInterval(nextSlide, 5000); } function showSlide() { var img = document.createElement("img"); img.src = images[index]; img.classList.add("active"); slideshow.appendChild(img); } function hideSlide() { var activeImg = slideshow.querySelector(".active"); activeImg.classList.remove("active"); slideshow.removeChild(activeImg); } function prevSlide() { hideSlide(); index--; if (index < 0) { index = images.length - 1; } showSlide(); } function nextSlide() { hideSlide(); index++; if (index >= images.length) { index = 0; } showSlide(); } window.addEventListener("load", init); </script> </head> <body> <h1>轮播图</h1> <div id="slideshow"></div> </body> </html> ``` 在这个案例中,我们使用了 JavaScript 来实现一个基本的轮播图。在 HTML 中,我们定义了一个包含图片的 div 元素,并使用 CSS设置其样式。在 JavaScript 中,我们定义了一个 images 数组来存储图片的文件名,一个 index 变量来记录当前显示的图片的索引,以及 prevButton 和 nextButton 两个按钮元素来控制切换图片。在 init 函数中,我们初始化轮播图,并设置了自动切换的定时器。在 showSlide 函数中,我们创建一个 img 元素,并将其添加到轮播图中。在 hideSlide 函数中,我们移除当前显示的图片。在 prevSlide 函数和 nextSlide 函数中,我们分别实现了向前和向后切换图片的逻辑。最后,我们在 window 的 load 事件中调用 init 函数来初始化轮播图
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小鱼·

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值