zoukankan      html  css  js  c++  java
  • 动态轮播图

    编辑此博客

    •  each()实现遍历,回调函数第一个参数是索引值,第二个参数为索引对应元素
    • append()添加元素
    • addClass,removeClass添加和删除元素类
    • 善用全局变量
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>动态轮播图</title>
        <script src="js/jquery-3.3.1.js"></script>
        <style type="text/css">
            *{
                padding: 0;
                margin: 0;
            }
            ul{
                list-style: none;
            }
            #box{
                margin: 50px auto;
                width: 285px;
                height: 235px;
                position:relative;
                overflow: hidden;
            }
            ul{
                width:1425px;
                position:absolute;
            }
            ul img{
                width: 285px;
                height: 235px;
            }
            ul li{
                float: left;
            }
            p{
                position: absolute;
                bottom: 10px;
                left: 90px;
                line-height: 20px;
                text-align: center;
            }
            p span{
                display: block;
                float: left;
                width: 15px;
                height: 20px;
                /*border: 1px solid seagreen;*/
                margin: 2px;
                background-color: #FFE4C4;
                cursor: pointer;
            }
            p span.active{
                color: white;
                background-color: #5d5347;
            }
            button{
                float: left;
            }
    
        </style>
    </head>
    <body>
        <div id="box">
            <ul>
            </ul>
            <p></p>
        </div>
        <button id="play">播放</button>
        <button id="stop">暂停</button>
    </body>
    <script type="text/javascript">
        $(document).ready(function () {
            
            //jquery动态添加图片
            //1、获取本地图片数据
            var imgArr=['./img/lb/1.jpg','./img/lb/2.jpg','./img/lb/3.jpg','./img/lb/4.jpg','./img/lb/5.jpg']
            //2、动态生产图片
            for(var i=0;i<imgArr.length;i++){
                $('ul').append("<li><img src="+imgArr[i]+"> </li>")
            }
            //3、生成索引
            var str=""
            $('li').each(function (i,ele) {
                str+="<span>"+i+"</span>"
            })
            //4、将索引添加到p标签中
            $("p").append(str)
    
            //设置第一个为active
            $("span:first").addClass("active")
    
            //5、点击索引
            var index=0
            $("span").click(function () {
                $(this).addClass("active").siblings("span").removeClass("active")
                //获取当前点击的索引
                index = $(this).index()
                $("ul").css("left",(-285*index));
            });
            //存储全局定时器变量
            var timer=null;
            $("#play").click(function () {
                //开启定时器
                //1、索引跟着走
                //2、图片跟着走
                timer=setInterval(next,1000);
                function next() {
                    if(index==$('li').length-1){
                        index=0;
                        //修改第一个span元素
                        $("p span").eq(index).addClass("active").siblings("span").removeClass("active");
                        //修改图片left
                        $("ul").css('left',0);
                    }else{
                        index++;
                        //修改后面的元素
                        $("p span").eq(index).addClass("active").siblings("span").removeClass("active");
                        //修改图片left
                        $("ul").css('left',-285*index);
                    }
                }
            });
            //清除定时器,实现暂停效果
            $("#stop").click(function () {
                clearInterval(timer);
            })
        })
    </script>
    </html>
    View Code

  • 相关阅读:
    2017.10.16 java中getAttribute和getParameter的区别
    2017.10.15 解析Java中抽象类和接口的区别
    2017.10.14 Java的流程控制语句switch&&随机点名器
    2017.10.13 Java中引用类型变量的创建及使用&循环高级写法
    2017.10.12 Java的计数器的开发
    2017.10.11 ”学生身体体质信息管理系统“的开发
    2017.10.10 java中的继承与多态(重载与重写的区别)
    一次redis悲观锁 实现 微信jssdk token缓存
    HashSet原理 与 linkedHashSet
    jdk并发容器整理(yet)
  • 原文地址:https://www.cnblogs.com/yaya625202/p/9203537.html
Copyright © 2011-2022 走看看