zoukankan      html  css  js  c++  java
  • 点击按钮切换轮播图

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>轮播图 (闪现 自适应)</title>
    <style media="screen">
    * {
    margin: 0;
    padding: 0;
    }
    .wrap {
     60%;
    background: red;
    margin: auto;
    position: relative;
    }
    .wrap img {
     100%;
    
    position: absolute;
    /*z-index: 10;*/
    }
    input {
    border: 1px solid lightgray;
     50px;
    height: 30px;
    background: red;
    border-radius: 5px;
    font-size: 20px;
    }
    
    img{
        400px;
        height:600px;
    }
    </style>
    </head>
    <body>
    <div class="wrap">
    <img src="img/01.jpg">
    <img src="img/02.jpg">
    <img src="img/03.jpg">
    <img src="img/04.jpg">
    
    </div>
    <input type="button" id="butLeft" name="name" value="◀︎">
    <input type="button" id="butRight" name="name" value="▶︎">
    
    <script type="text/javascript">
    // 获取images元素生成字符串数组,字符串数组不能进行push pop splice 等操作
    // 所以要将它的值重新存放进一个数组中,后面有定义
    var images = document.getElementsByTagName('img');
    var butLeft = document.getElementById('butLeft');
    var butRight = document.getElementById('butRight');
    //获取变量index 用来为后面设置层级用
    var index = 1000;
    // 获取一个空的数组,用来存放images里面的字符串元素
    var imagess = [];
    
    // for循环用来给imagess数组赋值,并且改变数组中的元素的层级
    for (var i = 0; i < images.length; i++) {
    imagess[i] = images[i];
    var currentImage = imagess[i];
    // 当前图片的层级的设置,一轮for循环都为他们设置了初始的zIndex,图片越靠前,层级设置
    // 要求越高,所以用的是-i,这样图片会按顺序从第一张,第二张.....依次向下
    currentImage.style.zIndex = -i;
    }
    
    // 设置计数器count,执行一次点击事件(向左或者向右)count加1
    var count = 0;
    // 向左的点击事件
    butLeft.onclick = function() {
    // 从数组头部弹出一个图片元素
    var showFirst = imagess.shift();
    // 给弹出的这个图片元素设置层级,即 -1000+count,
    // 让层级相较其他元素是最小的,数组头部弹出的图片会显示在最底层
    showFirst.style.zIndex = - index + count;
    // 层级改变完成后再将他push进数组的尾部
    imagess.push(showFirst);
    // 点击一次加1,不用考虑具体的值,只需要有点击事件加 1
    count++;
    }
    // 向右点击事件
    butRight.onclick = function() {
    // 从imagess的尾部弹出一个元素,并赋值给showFirst
    var showFirst = imagess.pop();
    // 设置showFirst的层级为最大,1000+count ,这样他会显示在第一层
    showFirst.style.zIndex = index + count;
    // 层级改变之后将他在插入数组imagess的头部
    imagess.unshift(showFirst);
    // 点击一次加1
    count++;
    }
    </script>
    </body>
    </html>

  • 相关阅读:
    ue4 socket
    ue4动画蓝图
    localStorage 用法
    关于textarea中换行、回车、空格的识别与处理
    git忽略某些文件提交
    动态加载js文件
    H5 App页面 绝对定位 软键盘弹出时顶起底部按钮
    Android软键盘弹出时把布局顶上去的解决方法
    javascript 事件委托 和jQuery事件绑定on、off 和one
    escape()、encodeURI()、encodeURIComponent()区别详解
  • 原文地址:https://www.cnblogs.com/dexin/p/6295130.html
Copyright © 2011-2022 走看看