JS實(shí)現(xiàn)小米輪播圖
原生JS仿小米輪播圖(最新版易懂),供大家參考,具體內(nèi)容如下
本次內(nèi)容主要可實(shí)現(xiàn)的效果:
自動(dòng)輪播 可點(diǎn)擊上一張 下一張進(jìn)行圖片的切換 點(diǎn)擊右下方小圓點(diǎn)進(jìn)行圖片切換代碼部分:
H5:
<div class='wrap'> <ul class='list'> <li class='item active'><img src='http://www.intensediesel.com/bcjs/img/001.jpg' alt=''></li> <li class='item'><img src='http://www.intensediesel.com/bcjs/img/002.jpg'' alt=''></li> <li class='item'><img src='http://www.intensediesel.com/bcjs/img/001.jpg' alt=''></li> <li class='item'><img src='http://www.intensediesel.com/bcjs/img/002.jpg' alt=''></li> <li class='item'><img src='http://www.intensediesel.com/bcjs/img/001.jpg' alt=''></li> </ul> <!-- 小圓點(diǎn) --> <ul class='pointList'> <li data-index='0'></li> <li data-index='1'></li> <li class='point'data-index='2'></li> <li class='point'data-index='3'></li> <li class='point'data-index='4'></li> </ul> <button type='button' id='goPre'><</button> <button type='button' id='goNext'>></button></div>
CSS部分:
<style> .wrap { width: 800px; height: 400px; position: relative; } .list { width: 800px; height: 400px; list-style: none; position: relative; padding-left: 0px; } .item { position: absolute; width: 100%; height: 100%; color: white; font-size: 50px; opacity: 0.6; transform: all .8s; } .item img{ width: 800px; height: 400px; } .btn { width: 50px; height: 100px; position: absolute; top: 150px; z-index: 100; } #goPre { left: 0px; } #goNext { right: 0px; } .item.active { opacity: 1; z-index: 10; } .pointList{ padding-left: 0; list-style: none; position: absolute; right: 20px; bottom: 20px; z-index: 1000; } .point{ width: 10px; height: 10px; background-color: rgba(0,0,0,0.4); border-radius: 50%; float: left; margin-right: 16px; border-style: solid; border-width: 2px; border-color: rgba(255,255,255, 0.6); cursor: pointer; } .point.active{ background-color: rgba(255,255,255,0.4); }</style>
JS部分
<script> //獲取節(jié)點(diǎn) var items = document.getElementsByClassName(’item’)//圖片 var goPreBtn = document.getElementById(’goPre’); var goNextBtn = document.getElementById(’goNext’); //獲取點(diǎn) var points=document.getElementsByClassName(’point’); var time=0;//定時(shí)器圖片跳轉(zhuǎn)參數(shù) var index = 0; //表示第幾張圖片在展示 //可以展示第幾個(gè)點(diǎn) var clearActive=function(){ for(var i=0;i<items.length;i++){items[i].className=’item’;points[i].className=’point’; } } var goIndex=function(){ clearActive(); items[index].className=’item active’; points[index].className=’point active’; } var goNext=function(){ if(index<4){index++; }else{index=0; } goIndex(); } var goPre=function(){ if(index==0){index=4; }else{index--; } goIndex(); } //點(diǎn)擊下一張切換圖片 goNextBtn.addEventListener(’click’ ,function(){ goNext(); time=0; }) //點(diǎn)擊上一張進(jìn)行切換圖片 goPreBtn.addEventListener(’click’ ,function(){ goPre(); time=0; }) for(var i=0;i<points.length;i++){ points[i].addEventListener(’click’,function(){ var pointIndex=this.getAttribute(’data-index’); index=pointIndex; goIndex(); time=0; }) } //自動(dòng)輪播定時(shí)器 setInterval(function(){ time++; if(time==20){ goNext(); time=0; } },100)</script>
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. Intellij IDEA 2019 最新亂碼問(wèn)題及解決必殺技(必看篇)2. 《javascript設(shè)計(jì)模式》學(xué)習(xí)筆記三:Javascript面向?qū)ο蟪绦蛟O(shè)計(jì)單例模式原理與實(shí)現(xiàn)方法分析3. 利用django創(chuàng)建一個(gè)簡(jiǎn)易的博客網(wǎng)站的示例4. 未來(lái)的J2EE主流應(yīng)用框架:對(duì)比Spring和EJB35. JS繪圖Flot如何實(shí)現(xiàn)動(dòng)態(tài)可刷新曲線圖6. ASP.NET MVC獲取多級(jí)類(lèi)別組合下的產(chǎn)品7. JS+css3實(shí)現(xiàn)幻燈片輪播圖8. 關(guān)于HTML5的img標(biāo)簽9. Android自定義View實(shí)現(xiàn)掃描效果10. PHP5.0正式發(fā)布 不完全兼容PHP4 新增多項(xiàng)功能
