原生js滑動(dòng)輪播封裝
本文實(shí)例為大家分享了原生js滑動(dòng)輪播的具體代碼,供大家參考,具體內(nèi)容如下
封裝滑動(dòng)輪播
<!DOCTYPE html><html lang='en'><head> <meta charset='UTF-8'> <meta name='viewport' content='width=device-width, initial-scale=1.0'> <meta http-equiv='X-UA-Compatible' content='ie=edge'> <title>cmm無縫輪播</title> <style type='text/css'> *{margin: 0 ;padding : 0} #container{ height: 470px; width: 590px; border: 1px solid red; position: relative; margin: 50px auto; } #box{ position: absolute; list-style: none; } #box li{ float: left; } #pages { width: 100%; height: 30px; background: #ccc; position: absolute; bottom: 0; } #pages i { width: 20px; height: 20px; display: inline-block; border-radius: 10px; background: #fff; margin: 5px; } #pages i.current { background: #f00; } #prev, #next { width: 45px; height: 100px; position: absolute; top: 0; bottom: 0; margin: auto; background: #ccc; line-height: 100px; text-align: center; font-size: 40px; color: #fff; } #next { right: 0; } </style></head><body> <div id='container'> <ul id='box'> <li><img src='http://www.aoyou183.cn/bcjs/images/1.jpg'></li> <li><img src='http://www.aoyou183.cn/bcjs/images/2.jpg'></li> <li><img src='http://www.aoyou183.cn/bcjs/images/3.jpg'></li> <li><img src='http://www.aoyou183.cn/bcjs/images/4.jpg'></li> </ul> <div id='pages'></div> <div id='prev'><</div> <div id='next'>></div> </div> <script src='http://www.aoyou183.cn/bcjs/js/tools.js'></script> <script> var lis = $('li'), length = lis.length, liWidth = lis[0].clientWidth, currentIndex = 0, nextIndex = 1, timer = null, move = null, circls = null, durations = 2000; // 動(dòng)態(tài)設(shè)置ul寬度 $('#box').style.width = length * liWidth + 'px'; // 動(dòng)態(tài)設(shè)置小圓點(diǎn) var html = ''; for(var i = 0 ;i <length ;i++){ html += '<i></i>' } $('#pages').innerHTML= html; circls = $('i'); circls[0].className = 'current'; // 切換動(dòng)畫 move = function(){ // 設(shè)置box運(yùn)動(dòng)終點(diǎn)值 var _left = -1 * nextIndex * liWidth; // 開始動(dòng)畫 animate($('#box'),{left:_left},200) // 修改小圓點(diǎn)樣式 circls[currentIndex].className = ''; circls[nextIndex].className = 'current'; // 修改索引 currentIndex = nextIndex; nextIndex++; if(nextIndex >= length){ nextIndex = 0; } } // 自動(dòng)動(dòng)畫 timer = setInterval(move, durations) // container中鼠標(biāo)移入,移出事件 on($('#container'),'mouseenter',function(){ clearInterval(timer); }) on($('#container'),'mouseleaver',function(){ timer = setInterval(move, durations); }) // 點(diǎn)擊小圓點(diǎn),切換至對應(yīng)的圖片 on($('#pages'),'click',function(e){ e = e || event; var src = e.target || src.Element; if(src.nodeName === 'I'){ var _index = Array.from(circls).indexOf(src); if(_index === currentIndex){ return } nextIndex = _index; move(); } }) // 點(diǎn)擊翻頁進(jìn)行切換 on($('#prev'),'click',function(){ nextIndex = currentIndex - 1; if(nextIndex < 0){ nextIndex = length; } move(); }) on($('#next'),'click',function(){ move(); }) </script></body></html>
更多關(guān)于輪播圖效果的專題,請點(diǎn)擊下方鏈接查看學(xué)習(xí)
javascript圖片輪播效果匯總
jquery圖片輪播效果匯總
Bootstrap輪播特效匯總
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. IntelliJ IDEA創(chuàng)建web項(xiàng)目的方法2. 利用Python實(shí)現(xiàn)Excel的文件間的數(shù)據(jù)匹配功能3. Python多線程threading創(chuàng)建及使用方法解析4. python 制作網(wǎng)站小說下載器5. Python Request類源碼實(shí)現(xiàn)方法及原理解析6. python中的bool數(shù)組取反案例7. python利用opencv實(shí)現(xiàn)顏色檢測8. python基礎(chǔ)之匿名函數(shù)詳解9. Python趣味挑戰(zhàn)之turtle庫繪畫飄落的銀杏樹10. python numpy中setdiff1d的用法說明
