您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關怎么實現js焦點輪播效果,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
效果如圖:
實現代碼:
<!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: 3430px; position: absolute; } #pic li{ float: left; height: 170px; } #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); } </style> <script type="text/javascript"> window.onload=function(){ var wrap=document.getElementById('wrap'); var pic=document.getElementById('pic'); var Li=document.getElementById('list').getElementsByTagName('li'); var prev=document.getElementById('Prev'); var next=document.getElementById('Next'); var animated=false; var index=0; var timer=null; next.onclick=function(){ if(animated){//如果圖片正在滾動時要返回,否則index會變化 return; } else{ index++; if(index>=Li.length){ index=0; } } showlist(); if(animated == false){//if(!animated) animate(-490); } } prev.onclick=function(){ if(animated){ return; } else{ index--; if(index<=0){ index=Li.length-1; } } showlist(); if(!animated){//判斷其是否滾動完 animate(490); } } for(var i=0;i<Li.length;i++){ Li[i].num=i; Li[i].onclick=function(){ if(this.className=="on"){ return; } var offset = -490*(this.num-index); if(!animated){ animate(offset); } index=this.num; showlist(); } } //圖片變換 function animate(offset){ animated=true; var newLeft=parseInt(pic.style.left) + offset; var time=300//位移總時間 var interval=10;//位移間隔時間 var speed=offset/(time/interval);//每次位移量 function go(){ if((speed < 0 && parseInt(pic.style.left) > newLeft )|| (speed > 0 && parseInt(pic.style.left) < newLeft)){ pic.style.left = parseInt(pic.style.left) + speed + 'px'; setTimeout(go,interval); }else{ animated=false; pic.style.left= newLeft + 'px'; if(newLeft > -490){ pic.style.left = -2450 + 'px'; } if(newLeft < -2450){ pic.style.left = -490 + 'px'; } } } go(); } //圓點變換 function showlist(){ for(var i=0;i<Li.length;i++){ Li[i].className=""; } Li[index].className="on"; } //自動播放 function play(){ timer=setInterval(function(){ next.onclick(); },2000); } function stop(){ clearInterval(timer); } wrap.onmouseover=stop; wrap.onmouseout=play; play(); } </script> </head> <body> <div class="wrap" id="wrap"> <ul id="pic" > <li><a href="#"><img src="/54111d7d00018ba604900170.jpg" alt="5"/></a></li> <li><a href="#"><img src="/54111cd9000174cd04900170.jpg" alt="1"/></a></li> <li><a href="#"><img src="/54111dac000118af04900170.jpg" alt="2"/></a></li> <li><a href="#"><img src="/54111d9c0001998204900170.jpg" alt="3"/></a></li> <li><a href="#"><img src="/54111d8a0001f41704900170.jpg" alt="4"/></a></li> <li><a href="#"><img src="/54111d7d00018ba604900170.jpg" alt="5"/></a></li> <li><a href="#"><img src="/54111cd9000174cd04900170.jpg" alt="1"/></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>
關于“怎么實現js焦點輪播效果”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。