zoukankan      html  css  js  c++  java
  • js两个定时器实现轮播图

    另辟蹊径实现轮播图的方法:

    <!DOCTYPE html>
    <html lang="en">
    
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <!-- jquery网络引用地址 -->
        <script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
        <title> 两个定时器实现轮播图</title>
    </head>
    
    <body>
        <img id="app" src="./images/1.jpg" />
        <br />
        <button id="clear">停止轮播</button>
        <button id="continue">继续轮播</button>
        <button id="pre">上一张</button>
        <button id="next">下一张</button>
        <script>
            //要遍历的图片路径数组
            var images = ['./images/1.jpg', './images/2.jpg', './images/3.jpg'];
            //获取图片对象
            var image = document.getElementById("app");
            //下标
            var index = 0;
            //定时器
            var interval, timeOut = 0;
            $(function () {
                // 绑定清除两个定时器的方法
                $("#clear").click(function () {
                    console.log('清除定时器');
                    window.clearInterval(interval);
                    window.clearTimeout(timeOut);
                });
    
                // 对两个定时器进行重新赋值
                $("#continue").click(function () {
                    console.log('继续执行定时器');
                    interval = setInterval(function () {
                        timeOut = setTimeout(() => {
                            if (index > (images.length - 1)) {
                                index = 0;
                            }
                            image.src = images[index];
                            index++;
                        }, 1000);
                    }, 1500);
                });
    
                // 根据下标切换图片
                $("#next").click(function () {
                    console.log('下一张')
                    index++;
                    if (index > (images.length - 1)) {
                        index = 0;
                    }
                    image.src = images[index];
                });
    
                // 根据下标切换图片
                $("#pre").click(function () {
                    console.log('上一张')
                    index--;
                    if (index < 0) {
                        index = images.length - 1;
                    }
                    image.src = images[index];
                });
    
                // 默认执行主体
                interval = setInterval(function () {
                    timeOut = setTimeout(() => {
                        if (index > (images.length - 1)) {
                            index = 0;
                        }
                        image.src = images[index];
                        index++;
                    }, 1000);
                }, 1500);
    
            });
        </script>
    </body>
    
    </html>

    项目结构:

  • 相关阅读:
    JS 集合
    JS 字典
    JS 链表
    JS 队列
    JS 栈
    JS 列表
    JS 数组
    IOS 提示无法下载程式问题
    ubuntu 下安装Go开发环境
    菜鸟看Redis(一)
  • 原文地址:https://www.cnblogs.com/mxh-java/p/13253435.html
Copyright © 2011-2022 走看看