完美实现js焦点轮播效果(一)
Vampire-blog 人气:0最简单轮播形式,js中通过pic的display属性控制变换,也可通过调整Pic的margin-Left
效果如图:
实现代码:
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> <style type="text/css"> *{ margin: 0; padding: 0; list-style: none; text-decoration: none; } .wrap{ width: 490px; height: 170px; margin: 100px auto; border: 1px solid #000000; position: relative; overflow: hidden; } #pic{ width: 2450px; height: 170px; } #pic li{ float: left; } #list{ position: absolute; bottom: 10px; left:150px ; } #list li{ float: left; width: 15px; height: 15px; background: #fff; margin: 0 10px; border-radius: 50%; cursor: pointer; } #list .on{ background: #e27a00; } .Prev{ top: 30px; left: 0; } .Next{ top: 30px; right: 0; } .Prev,.Next{ position: absolute; font-size: 80px; font-weight: bold; color:#fff ; -webkit-transition: all 0.35s ease-in-out } .Next:hover, .Prev:hover{ background: #ccc; background: rgba(204, 204, 204, 0.4); } .show{ display: block; } .hidden{ display: none; } </style> <script type="text/javascript"> window.onload=function(){ var pic=document.getElementById('pic').getElementsByTagName('li'); var list=document.getElementById('list').getElementsByTagName('li'); var prev=document.getElementById('Prev'); var next=document.getElementById('Next'); var index=0; var timer=null; auto(); for(var i=0;i<list.length;i++){ list[i].index=i; list[i].onmouseover=function(){ clearInterval(timer); Change(this.index); } list[i].onmouseout=function(){ auto(); } pic[i].onmouseover=function(){ clearInterval(timer); } pic[i].onmouseout=function(){ auto(); } } prev.onclick=function(){ clearInterval(timer); index--; if(index<=0){ index=list.length-1; } Change(index); } next.onclick=function(){ clearInterval(timer); index++; if(index>=list.length){ index=0; } Change(index); } prev.onmousemove=function(){ clearInterval(timer); } prev.onmouseout=function(){ auto(); } next.onmouseover=function(){ clearInterval(timer); } next.onmouseout=function(){ auto(); } function Change(curIndex){ for(var i=0;i<list.length;i++){ list[i].className=""; pic[i].className="hidden"; } list[curIndex].className="on"; pic[curIndex].className="show"; index=curIndex; } function auto(){ timer=setInterval(function(){ index++; if(index>=list.length){ index=0 } Change(index); },2000); } } </script> </head> <body> <div class="wrap" id="wrap"> <ul id="pic"> <li class="show"><a href="#"><img src="/54111cd9000174cd04900170.jpg" alt=""/></a></li> <li><a href="#"><img src="/54111dac000118af04900170.jpg" alt=""/></a></li> <li><a href="#"><img src="/54111d9c0001998204900170.jpg" alt=""/></a></li> <li><a href="#"><img src="/54111d8a0001f41704900170.jpg" alt=""/></a></li> <li><a href="#"><img src="/54111d7d00018ba604900170.jpg" alt=""/></a></li> </ul> <ul id="list"> <li class="on"></li> <li></li> <li></li> <li></li> <li></li> </ul> <a href="javascript:;" class="Prev" id="Prev"><</a> <a href="javascript:;" class="Next" id="Next">></a> </div> </body> </html>
加载全部内容