首页 > 编程 > JavaScript > 正文

JS实现旋转木马式图片轮播效果

2019-11-19 17:53:41
字体:
来源:转载
供稿:网友

本文实例为大家分享了js图片轮播的具体代码,供大家参考,具体内容如下

主要html代码:

<!DOCTYPE html><html lang="en"><head>  <meta charset="UTF-8">  <title>Document</title>  <link rel="stylesheet" type="text/css" href="css/css.css">  <script type="text/javascript" src="js/animate.js"></script></head><body>  <div class="w-wrap" id="js_wrap">    <div class="wrap-slide" id="wrap_slide">      <ul>        <li><a href="#"><img src="images/slidepic1.jpg" alt=""></a></li>        <li><a href="#"><img src="images/slidepic2.jpg" alt=""></a></li>        <li><a href="#"><img src="images/slidepic3.jpg" alt=""></a></li>        <li><a href="#"><img src="images/slidepic4.jpg" alt=""></a></li>        <li><a href="#"><img src="images/slidepic5.jpg" alt=""></a></li>        <!-- <li><a href="#"><img src="images/slidepic6.jpg" alt=""></a></li> -->      </ul>      <div class="wrap-slide-arrow" id="wrap_slide_arrow">        <a href="javascript:;" class="prev"></a>        <a href="javascript:;" class="next"></a>      </div>    </div>  </div>  <script>    function $(id){ return document.getElementById(id);}    var js_wrap = $("js_wrap");     var wrap_slide = $("wrap_slide");     var wrap_slide_arrow = $("wrap_slide_arrow");    var lis = wrap_slide.children[0].children;    var json = [      {        //1        width: 400,        top: 20,        left: 50,        opacity: 20,        z: 2      },      {        //2        width: 600,        top: 70,        left: 0,        opacity: 80,        z: 3      },      {        //3        width: 800,        top: 100,        left: 200,        opacity: 100,        z: 4      },      {        //4        width: 600,        top: 70,        left: 600,        opacity: 80,        z: 3      },      {        //5        width: 400,        top: 20,        left: 750,        opacity: 20,        z: 2      }/*,      {        //6        width: 300,        top: 10,        left: 400,        opacity: 10,        z: 1      }*/    ]    change(); //将各个图片按照json铺开层次    var jieliu = true;    //两个按钮点击事件    var as = wrap_slide_arrow.children;    for(var k in as){      as[k].onclick = function(){        if(this.className == "prev"){          /*alert("左侧按钮");*/          //所有图片逆时针旋转,相当于图片不动,json的第一个删除并插到最后一个          if(jieliu == true){            change(false);            jieliu = false;          }        }else if(this.className == "next"){          /*alert("右侧按钮");*/          //所有图片顺时针旋转,相当于图片不动,json的最后一个删除并插到第一个          if(jieliu == true){            change(true);            jieliu = false;          }        }      }    }    function change(flag){      if(flag){        //所有图片顺时针旋转,相当于图片不动,json的最后一个删除并插到第一个              json.unshift(json.pop());      }else{        //所有图片逆时针旋转,相当于图片不动,json的第一个删除并插到最后一个        json.push(json.shift());      }      for(var k in json){        animate(lis[k],{          width: json[k].width,          top: json[k].top,          left: json[k].left,          opacity: json[k].opacity,          zIndex: json[k].z        },function(){ jieliu = true;}); //当动画执行完,执行回调函数,此时置节流为true      }    }    var timer = null;    timer = setInterval(autoPlay,2000);    function autoPlay(){      if(jieliu == true){        change(true);        jieliu = false;      }    }    js_wrap.onmouseover = function(){      clearInterval(timer);      animate(wrap_slide_arrow,{opacity:100});    }    js_wrap.onmouseout = function(){      clearInterval(timer);      timer = setInterval(autoPlay,2000);      animate(wrap_slide_arrow,{opacity:0});    }    /*js_wrap.onmouseover = function(){      animate(wrap_slide_arrow,{opacity:100});    }    js_wrap.onmouseout = function(){      animate(wrap_slide_arrow,{opacity:0});    }*/  </script></body></html> 

主要css代码:

/*初始化 reset*/blockquote,body,button,dd,dl,dt,fieldset,form,h1,h2,h3,h4,h5,h6,hr,input,legend,li,ol,p,pre,td,textarea,th,ul{margin:0;padding:0}body,button,input,select,textarea{font:12px/1.5 "Microsoft YaHei", "微软雅黑", SimSun, "宋体", sans-serif;color: #666;}ol,ul{list-style:none}a{text-decoration:none}fieldset,img{border:0;vertical-align:top;}a,input,button,select,textarea{outline:none;}a,button{cursor:pointer;}.w-wrap{  width: 1200px;  margin: 100px auto;}.wrap-slide{  position: relative;}.wrap-slide li{  position: absolute;  left: 200px;  top: 0;}.wrap-slide li img{  width: 100%;}.wrap-slide-arrow{  opacity: 0;  position: relative;}.prev,.next{  width: 76px;  height: 112px;  position: absolute;  top: 50%;  margin-top: -56px;  background: url(../images/prev.png) no-repeat;}.next{  right: 0;  background: url(../images/next.png) no-repeat;}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持武林网。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表