zoukankan      html  css  js  c++  java
  • 展示图 轮播

     1 <body>
     2 <div id="wrap">
     3     <img src="img/0.png"/>
     4     <img src="img/1.png"/>
     5     <img src="img/2.png"/>
     6     <img src="img/3.png"/>
     7     <img src="img/4.png"/>
     8     <img src="img/5.png"/>
     9     <img src="img/6.png"/>
    10 </div>
    11 
    12 </body>
     1 <style>
     2     body{
     3         margin: 0;
     4         background-color: #999;
     5     }
     6     #wrap{
     7         height: 500px;
     8         background: url(img/bg.png) no-repeat center;
     9         background-size: 1800px 500px;
    10         position: relative;
    11         transform-style: preserve-3d;
    12         perspective: 800px;
    13         margin-top: 100px;
    14     }
    15     img{
    16         border: none;
    17         vertical-align: top;
    18     }
    19     #wrap img{
    20         width: 300px;
    21         height: 200px;
    22         position: absolute;
    23         left: 50%;
    24         top: 50%;
    25         margin-left: -150px;  /*  居中*/
    26         margin-top: -100px;
    27         transition: 0.7s ease-in-out;
    28     }
    29 </style>
    <script type="text/javascript">
          window.onload = function()
          {
                var imgs = document.getElementsByTagName("img");
                var target = "";
                var n = 6; //开始值
                var onoff = true; //解决快速多点   乱跑问题
              setTimeout(function(){
                  tab(n)
              },200)
               
                //   3 4 5 6 0 1 2
                function tab(n)
                {
                     for (var i = 0; i < 3; i++) {
                         var left = n-1-i;
                         if (left<0) {    // 重要步骤一
                             left = left +7;
                         }
                         imgs[left].style.transform = "translateX("+(-150*(i+1))+"px) translateZ("+(200-i*100)+"px) rotateY(30deg)"; //往右边移动 150   景深 2边 离中心越远 越 小
                         var right = n+1+i;
                         if (right>6) {// 重要步骤一
                             right = right -7;
                         }
                         imgs[right].style.transform = "translateX("+(150*(i+1))+"px) translateZ("+(200-i*100)+"px) rotateY(-30deg)";
                     }
                     imgs[n].style.transform = "translateZ(300px)";
                }
                
                for (var i = 0; i < imgs.length; i++) {
                    imgs[i].index  = i;
                     imgs[i].onclick = function()
                     {
                        if(!onoff){
                            return;
                        }
                        onoff = false;
                         target = this.index;
                         //alert(this.index)
                         //gonext();
                         //是否走下一张最近  还是上一张最近  当前值 》点击值    相减 》= 3
                        if(target > n) //  点击 6  当前 2
                        {
                            if(target-n <= 3)
                            {
                                gonext()    //往上走
                                
                            }else{
                                goprev();  //往下走
                            }
                        }else{//  点击 0  当前 6
                            if(n -target >=4){
                                gonext()    //往上走
                            }else{
                                goprev();  //往下走
                            }
                        }
                     
                     }
                }
                
               function gonext()  //图片切换
                {
                    n++              // +1
                        if(n>6){     //判断是否大于6  回归 0 
                        n = 0;
                    }
                    tab(n);   //顺序不能乱
                    if(n == target){ //点击值  ==  已经到达的值则退出   运动完成
                        onoff = true;
                        return;
                    }
                    setTimeout(function(){
                        gonext();
                    },700)
                    
                }
                function goprev()  //图片切换
                {
                     n--           // +1
                        if(n<0){     //判断是否大于6  回归 0 
                         n =6;
                    }
                    tab(n);   //顺序不能乱
                    if(n == target){    //点击值  ==  已经到达的值则退出
                    
                        onoff = true;
                        return;
                    }
               setTimeout(function(){
                        goprev();
                    },700)
                    
                }
          }
    </script>
  • 相关阅读:
    调整数组顺序使奇数位于偶数前面
    网站远程附件存储到 OSS
    平滑升级mariadb
    在Apache服务器上安装SSL证书
    复试-英语
    部署博客(docker)
    远程连接Windows
    Ultimate SLAM?利用事件相机解锁高速运动、高动态范围场景
    LRNNet:轻量级FCB& SVN实时语义分割
    3D目标检测深度学习方法中voxel-represetnation内容综述(三)
  • 原文地址:https://www.cnblogs.com/h5monkey/p/5918300.html
Copyright © 2011-2022 走看看