zoukankan      html  css  js  c++  java
  • javascript原生轮播

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title>javascript原生轮播</title>
    <style>
                .container{
                    width: 800px;
                    height: 600px;
                    margin: 0 auto;
                    border: 1px solid red;
                    position: relative;  /*给包围大盒的内容定位*/
                }
                .banner{
                    width: 100%;
                    height: 100%;
                    text-align: center;
                    line-height: 600px;
                    color: #fff;
                    font-size: 60px;
                    display: none;   /*所有的都隐藏*/
                }
                .btnbox{
                    width: 200px;
                    height: 25px;
                    position: absolute;
                    right: 150px;
                    bottom: 50px;  /*给圆点定位*/
            
                }
                div.btn{
                    width: 25px;
                    height: 25px;
                    text-align: center;
                    line-height: 25px;
                    color: #fff;
                    background: #000;
                    border-radius: 50%;
                    float: left;
                    margin-left: 10px;
                }
                .le{
                    width: 30px;
                    height: 60px;
                    line-height: 60px;
                    position: absolute;  /*给左右相同类名的样式*/
                    top: 50%;
                    margin-top:-30px;
                    color: #fff;
                    text-align: center;
                    font-size: 40px;
                    background: rgba(0,0,0,.5);
                }
                .leftbtn{left: 0;}  /*改变位置*/
                .rightbtn{
                    right: 0;
                }
            </style>
    
    
    

    </head> <body> <div class="container"> <!--图片--> <div class="banner" style="background: pink;display: block;">1</div> <div class="banner" style="background:deepskyblue;">2</div> <div class="banner" style="background: yellowgreen;">3</div> <div class="banner" style="background: yellow;">4</div> <div class="banner" style="background: lightcoral;">5</div> <!--按钮圆点--> <div class="btnbox"> <div class="btn" style="background: red;">1</div> <div class="btn">2</div> <div class="btn">3</div> <div class="btn">4</div> <div class="btn">5</div> </div> <!--左右按钮--> <div class="leftbtn le">&lt;</div> <div class="rightbtn le">&gt;</div> </div>
    <script>
           /*获取所有的元素*/
            var banner = document.querySelectorAll(".banner");
            var btns = document.querySelectorAll(".btn");
            var container = document.querySelector(".container");
            var left=document.querySelector(".leftbtn");
            var right=document.querySelector(".rightbtn");
            //开启计时器
            var t = setInterval(move,1000);
            //定义一个空的数字。从0开始切换
            var num = 0;
            function move(){
                num++;
                //每次num++
                //判断当图片切换到5张,自动清零.
                if(num == banner.length){
                    num = 0;
                }
                //for循环图片的长度,
                for(var i=0;i<banner.length;i++){
                    banner[i].style.display = "none"; //获取下标让图片隐藏
                    btns[i].style.background = "black"; //切换圆点变成黑色
                    
                }
                banner[num].style.display = "block";  //图片显示  
                btns[num].style.background = "red";  //切换圆点变成红色
                
            };
            //清除移入计时器
            container.onmouseover = function(){
                clearInterval(t);
            }
            //清除移除计时器
            container.onmouseout = function(){
                t = setInterval(move,1000);
            }
            //btns集合中的每一个对象 ------- 点击事件
             for(var i = 0;i<btns.length;i++){
                   btns[i].index = i; //自定义他的下标
                   btns[i].onclick = function(){
                       for(var j = 0;j<btns.length;j++){
                           btns[j].style.background = "black";
                           banner[j].style.display = "none";
                       }
                        this.style.background="red";
                        banner[ this.index ].style.display="block";
                        num = this.index;//num的下标等于按钮的下标
                   }
                  
                   
              }
             //点击右按钮
            right.onclick=function(){
                 move();
            }
            //点击左按钮
            left.onclick=function(){
                num--;//每次点击向左跑
                if(num == -1){
                    num = banner.length-1;
                }
                
                for(var i=0;i<banner.length;i++){
                    banner[i].style.display = "none";
                    btns[i].style.background = "black";
                    
                }
                banner[num].style.display = "block";
                btns[num].style.background = "red";
            }
        </script>
        </body>
    </html>
  • 相关阅读:
    QT全局热键(用nativeKeycode封装API,不跨平台)
    Android 短信模块分析(二) MMS中四大组件核心功能详解
    一个高效过滤非UTF8字符的C函数(也可用来判断是否utf8)
    Windows-1252对Latin1编码有改变(并不完全兼容),而且Latin1缺失了好多西欧字符(法语,德语,西班牙语都有)
    C++静态库与动态库
    CFBundleName系列参数的含义
    QT完美转换特殊字符的大小写
    Java-继承的应用
    RTTI、虚函数和虚基类的实现方式、开销分析及使用指导(虚函数的开销很小,就2次操作而已)
    delphi如何获得当前操作系统语言环境
  • 原文地址:https://www.cnblogs.com/fengyuzhen/p/7212430.html
Copyright © 2011-2022 走看看