如何用最简单的代码制作带定时器的轮播图

简介: 如何用最简单的代码制作带定时器的轮播图前几天写了一篇有关轮播图制作的博客,但当时没有添加定时的效果,说白了就是没有自动轮播的效果,今天来说一下怎样添加自动轮播效果。如图:在这里插入图片描述HTML代码: <div class="box" id="box"> <img src="img/1.jpg" alt=""> <!-- <img src="img/1.jpg" alt=""> <img src="img/2.jpg" alt=""> <img src="img/3.jpg" alt=""> -->

如何用最简单的代码制作带定时器的轮播图




前几天写了一篇有关轮播图制作的博客,但当时没有添加定时的效果,说白了就是没有自动轮播的效果,今天来说一下怎样添加自动轮播效果。如图:

20200605003039191.gif


在这里插入图片描述

HTML代码:


 

<divclass="box"id="box"><imgsrc="img/1.jpg"alt=""><!-- <img src="img/1.jpg" alt=""><img src="img/2.jpg" alt=""><img src="img/3.jpg" alt=""> --><divclass="btn btn_l">&lt;</div><divclass="btn btn_r">&gt;</div><ulclass="points"><liclass="red blue"></li><liclass="red"></li><liclass="red"></li><liclass="red"></li></ul></div>


CSS代码:


* {
            margin: 0;
            padding: 0;
            list-style: none;
        }
        .box {
            width: 500px;
            height: 300px;
            position: absolute;
            top: 0;
            bottom: 0;
            left: 0;
            right: 0;
            margin: auto;
        }
        img {
            width: 500px;
            height: 300px;
        }
        .btn,
        .points {
            position: absolute;
            cursor: pointer;
        }
        .btn {
            width: 20px;
            height: 40px;
            background: green;
            color: white;
            font-size: 20px;
            text-align: center;
            line-height: 40px;
            top: 50%;
            margin-top: -20px;
            z-index: 999;
        }
        .btn_l {
            left: 0;
        }
        .btn_r {
            right: 0;
        }
        .points {
            width: 100px;
            height: 20px;
            border-radius: 20px;
            background: skyblue;
            left: 50%;
            margin-left: -50px;
            bottom: 30px;
        }
        .points .red {
            width: 15px;
            height: 15px;
            border-radius: 50%;
            background-color: red;
            float: left;
            margin: 2.5px 5px;
        }
        .points li.blue {
            background: blue;
        }


JS代码:


// 1.获取元素
    var oImg = document.getElementsByTagName("img")[0];
    var oBtn_l = document.getElementsByClassName("btn_l")[0];
    var oBtn_r = document.getElementsByClassName("btn_r")[0];
    var aLi = document.getElementsByTagName("li");
    var oBox=document.getElementById("box");
    var index = 1;
    var timer;
    function clear() {
        for (var i = 0; i <aLi.length;i++){aLi[i].className = "red"}aLi[index-1].className = "red blue";}functionnext(){index ==4?index = 1:index++;oImg.src = "img/"+index+".jpg";clear();}//点击右侧按钮oBtn_r.onclick = function(){next();}//点击左按钮oBtn_l.onclick = function(){index ==1?index = 4:index--;oImg.src = "img/"+index+".jpg";clear();}//下面4个点的点击for(vari = 0;i< aLi.length; i++) {        aLi[i].a = i;
        aLi[i].onclick = function () {
            index = this.a + 1;
            oImg.src = "img/" + index + ".jpg";
            clear();
        }
    }
    // for(let i=0;i<aLi.length;i++){//aLi[i].οnclick=function(){//index=i+1;//oImg.src="img/"+index+".jpg"//}//}//添加定时器timer=setInterval(next,1000);//鼠标移入时,清除定时器oBox.onmouseover=function(){clearInterval(timer);}//鼠标移出时oBox.onmouseout=function(){timer=setInterval(next,1000);}


总结: 添加定时器效果其实不难,但是要注意设置定时器时一定要声明一个全局变量,用来储存定时器,方便后面清除定时器后再次启动相同的定时器。


视频讲解链接:
https://www.bilibili.com/video/BV1DV411r7cf/


相关文章
|
6月前
|
人工智能 小程序 前端开发
小程序源码|运动荟小程序源码模版
小程序源码|运动荟小程序源码模版
|
6月前
|
存储 缓存 Unix
微信小游戏制作工具中实现计时功能
微信小游戏制作工具中实现计时功能
271 0
|
3月前
|
编解码 前端开发 vr&ar
从零开始的PICO教程(4)--- UI界面绘制与响应事件
这篇文章是PICO开发系列教程的第四部分,主要介绍了如何在PICO 4 VR环境中创建UI界面,包括Canvas和Panel的配置、UI元素的绘制、以及Button和Slider的事件响应绑定,并通过示例展示了数字增减和滑块功能的具体实现。
从零开始的PICO教程(4)--- UI界面绘制与响应事件
|
2月前
Axure原型设计:制作验证码倒计时,并重新获取交互效果
本文详细介绍了在Axure中实现验证码倒计时交互效果的步骤,包括元件准备、布局美化、全局变量设置及交互效果配置。通过分解交互流程,利用全局变量控制倒计时逻辑,最终实现按钮从“获取验证码”到倒计时状态的自动切换,并可重复使用。
|
4月前
|
JavaScript BI UED
vue + element UI【实战】打字闯关(含按键监听、按键音效、字符匹配、动态样式、结果判定、数据统计、音效获取和剪辑等实用技巧)
vue + element UI【实战】打字闯关(含按键监听、按键音效、字符匹配、动态样式、结果判定、数据统计、音效获取和剪辑等实用技巧)
54 0
|
6月前
|
小程序
【微信小程序】-- 页面事件 - 上拉触底 - 案例(二十七)
【微信小程序】-- 页面事件 - 上拉触底 - 案例(二十七)
Echarts实战案例代码(17):鼠标操作事件的代码
Echarts实战案例代码(17):鼠标操作事件的代码
172 0
|
前端开发 定位技术 API
前端切图:调用百度地图API
前端切图:调用百度地图API
63 0
倒计时功能制作
今天制作一个商城项目距离抢购还剩多长时间的一个小功能 首先要知道这个倒计时是不断的变化的,所以需要用到定时器来自动变化(setInterval),有三个标签存放时分秒,再利用innerHTML将计算出来的时间放入三个标签内,第一次执行也是间隔毫秒数,因此刷新页面会有空白,我们最好采取封装函数的方式,这样可以先调用一次这个函数,防止刚开始刷新页面有空白问题。
|
小程序 API
零基础学小程序007----首页轮播图,可以自动轮播,循环轮播,定时轮播
零基础学小程序007----首页轮播图,可以自动轮播,循环轮播,定时轮播
111 0