JS实现旋转木马式图片轮播效果
本文实例为大家分享了js图片轮播的具体代码,供大家参考,具体内容如下
主要html代码:
<!DOCTYPEhtml> <htmllang="en"> <head> <metacharset="UTF-8"> <title>Document</title> <linkrel="stylesheet"type="text/css"href="css/css.css"> <scripttype="text/javascript"src="js/animate.js"></script> </head> <body> <divclass="w-wrap"id="js_wrap"> <divclass="wrap-slide"id="wrap_slide"> <ul> <li><ahref="#"><imgsrc="images/slidepic1.jpg"alt=""></a></li> <li><ahref="#"><imgsrc="images/slidepic2.jpg"alt=""></a></li> <li><ahref="#"><imgsrc="images/slidepic3.jpg"alt=""></a></li> <li><ahref="#"><imgsrc="images/slidepic4.jpg"alt=""></a></li> <li><ahref="#"><imgsrc="images/slidepic5.jpg"alt=""></a></li> <!--<li><ahref="#"><imgsrc="images/slidepic6.jpg"alt=""></a></li>--> </ul> <divclass="wrap-slide-arrow"id="wrap_slide_arrow"> <ahref="javascript:;"class="prev"></a> <ahref="javascript:;"class="next"></a> </div> </div> </div> <script> function$(id){returndocument.getElementById(id);} varjs_wrap=$("js_wrap"); varwrap_slide=$("wrap_slide"); varwrap_slide_arrow=$("wrap_slide_arrow"); varlis=wrap_slide.children[0].children; varjson=[ { //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铺开层次 varjieliu=true; //两个按钮点击事件 varas=wrap_slide_arrow.children; for(varkinas){ as[k].onclick=function(){ if(this.className=="prev"){ /*alert("左侧按钮");*/ //所有图片逆时针旋转,相当于图片不动,json的第一个删除并插到最后一个 if(jieliu==true){ change(false); jieliu=false; } }elseif(this.className=="next"){ /*alert("右侧按钮");*/ //所有图片顺时针旋转,相当于图片不动,json的最后一个删除并插到第一个 if(jieliu==true){ change(true); jieliu=false; } } } } functionchange(flag){ if(flag){ //所有图片顺时针旋转,相当于图片不动,json的最后一个删除并插到第一个 json.unshift(json.pop()); }else{ //所有图片逆时针旋转,相当于图片不动,json的第一个删除并插到最后一个 json.push(json.shift()); } for(varkinjson){ 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 } } vartimer=null; timer=setInterval(autoPlay,2000); functionautoPlay(){ 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"MicrosoftYaHei","微软雅黑",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:100pxauto; } .wrap-slide{ position:relative; } .wrap-slideli{ position:absolute; left:200px; top:0; } .wrap-slideliimg{ 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; }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。