国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術(shù)文章
文章詳情頁

JavaScript實現(xiàn)原型封裝輪播圖

瀏覽:3日期:2023-06-11 17:49:19

本文實例為大家分享了JavaScript實現(xiàn)原型封裝輪播圖的具體代碼,供大家參考,具體內(nèi)容如下

只要用dom元素調(diào)用這個方法,傳一個數(shù)組進(jìn)去,里面放的是圖片的路徑。

<!DOCTYPE html><html lang='en'><head> <meta charset='UTF-8'> <meta name='viewport' content='width=device-width, initial-scale=1.0'> <title>Document</title> <style> * { padding: 0px; margin: 0px; list-style: none; } .leftBtn { position: absolute; width: 30px; height: 30px; color: black; background-color: cyan; top: 50%; margin-top: -15px; line-height: 30px; text-align: center; opacity: 0.6; cursor: pointer; left: 10px; } .rightBtn { position: absolute; width: 30px; height: 30px; color: black; background-color: cyan; top: 50%; margin-top: -15px; line-height: 30px; text-align: center; opacity: 0.6; cursor: pointer; right: 10px; } .slider { position: absolute; bottom: 20px; width: 100%; text-align: center; cursor: pointer; } .slider span { display: inline-block; width: 8px; height: 8px; background-color: darkgray; border-radius: 50%; margin-left: 10px; } .slider .active { background-color: #f40; } </style></head><body> <div class='div'></div> <div id='div'></div> <script> var div = document.getElementsByClassName(’div’)[0] var oDiv = document.getElementById(’div’) // var arr = [’./tp copy/decade.jpg’, ’./tp copy/decad.jpg’, ’./tp copy/tp.jpg’] HTMLDivElement.prototype.createTurnPage = function (arr) { var arr = (typeof arr != 'object') ? [arr] : arr; //確保參數(shù)總是數(shù)組 var ul = document.createElement(’ul’); ul.className = ’ul’ this.style.width = ’400px’; this.style.height = 200 + ’px’; this.style.position = ’relative’; this.style.overflow = ’hidden’ this.style.margin = ’200px auto 0px’; this.appendChild(ul); ul.style.width = (1 + arr.length) * parseInt(this.style.width) + ’px’ ul.style.height = this.style.height ul.style.position = ’absolute’ for (let i = 0; i < arr.length + 1; i++) { var li = document.createElement(’li’); var img = document.createElement(’img’); ul.appendChild(li); li.appendChild(img); li.style.width = this.style.width li.style.height = this.style.height li.style.float = ’left’ img.style.width = ’100%’ img.style.height = ’100%’ img.src = arr[i]; } var LastImg = document.createElement(’img’); var liList = document.getElementsByClassName(’ul’)[0].getElementsByTagName(’li’); LastImg.src = arr[0]; LastImg.style.width = ’100%’ LastImg.style.height = ’100%’ liList[liList.length - 1].removeChild(img) liList[liList.length - 1].appendChild(LastImg); var leftBtn = document.createElement(’div’); var rightBtn = document.createElement(’div’); var slider = document.createElement(’div’); for (let i = 0; i < arr.length; i++) { var span = document.createElement(’span’) slider.appendChild(span) } var arrSpan = slider.getElementsByTagName(’span’) this.appendChild(leftBtn) this.appendChild(rightBtn) this.appendChild(slider) slider.className = ’slider’ leftBtn.className = ’leftBtn’; leftBtn.innerHTML = ’&lt;’ rightBtn.className = ’rightBtn’; rightBtn.innerHTML = ’&gt;’ var timer = null; var lock = true var index = 0; var moveWidth = document.getElementsByTagName(’li’)[0].offsetWidth; var num = document.getElementsByTagName(’li’).length - 1; leftBtn.onclick = function () { autoMove(’right->left’) } rightBtn.onclick = function () { autoMove(’left->right’) } for (var i = 0; i < arrSpan.length; i++) { (function (myindex) { arrSpan[myindex].onclick = function () { lock = false; clearTimeout(timer) index = myindex startMove(ul, { left: -index * moveWidth }, function () { lock = true; timer = setTimeout(autoMove, 2000) spanMove(index) }) } }(i)) } function autoMove(direction) { if (lock) { lock = false clearTimeout(timer); if (!direction || direction == ’left->right’) { index++; startMove(ul, { left: ul.offsetLeft - moveWidth }, function () { if (ul.offsetLeft == - num * moveWidth) { ul.style.left = 0 + ’px’ index = 0 } spanMove(index); timer = setTimeout(autoMove, 2000) lock = true }) } else if (direction == ’right->left’) { if (ul.offsetLeft == 0) { ul.style.left = - num * moveWidth + ’px’ index = num } index--; startMove(ul, { left: ul.offsetLeft + moveWidth }, function () { timer = setTimeout(autoMove, 2000) lock = true spanMove(index) }) } } } function spanMove(index) { for (var i = 0; i < arrSpan.length; i++) { arrSpan[i].className = ’’ } arrSpan[index].className = ’active’ } timer = setTimeout(autoMove, 1500) } // div.createTurnPage(arr) oDiv.createTurnPage([’./tp copy/decade.jpg’, ’./tp copy/logo.jpg’, ’./tp copy/decad.jpg’, ’./tp copy/tp.jpg’]) function getStyle(dom, attr) { if (window.getComputedStyle) { return window.getComputedStyle(dom, null)[attr]; } else { dom.currentScript[attr]; } } function startMove(dom, attrObj, callback) { clearInterval(dom.timer); var speed = null, cur = null; dom.timer = setInterval(function () { var stop = true; for (var attr in attrObj) { if (attr == 'opacity') { cur = parseFloat(getStyle(dom, attr)) * 100; } else { cur = parseInt(getStyle(dom, attr)); } speed = (attrObj[attr] - cur) / 7; speed = speed < 0 ? Math.floor(speed) : Math.ceil(speed); if (attr == 'opacity') { dom.style.opacity = (speed + cur) / 100; } else { dom.style[attr] = speed + cur + 'px'; } if (cur != attrObj[attr]) { stop = false; } } if (stop) { clearInterval(dom.timer); typeof callback == 'function' && callback(); } }, 20); } </script></body></html>

精彩專題分享:jQuery圖片輪播 JavaScript圖片輪播 Bootstrap圖片輪播

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: JavaScript
相關(guān)文章:
主站蜘蛛池模板: 欧美日本一道道一区二区三 | 成人黄网18免费观看的网站 | 日本一级高清不卡视频在线 | 九九久久精品视频 | 最近最新中文字幕免费的一页 | 四虎免费大片aⅴ入口 | 91chinesevideo在线观看 | 日韩一级片免费看 | 男人的天堂网在线 | 一区在线免费观看 | 欧美亚洲国产片在线观看 | 99精品偷自拍 | 在线亚洲日产一区二区 | 国产成人久久精品二区三区牛 | 99精品小视频 | 怡红院在线视频观看 | 国产午夜免费视频 | 成年人免费在线观看网站 | 国产特黄1级毛片 | 丝袜美腿精品一区二区三 | 国产欧美日韩在线不卡第一页 | 亚洲你我色 | 99久久国产综合精品成人影院 | 日日摸日日碰夜夜97 | 成人男女视频 | 在线观看精品视频 | 亚洲性视频网站 | 国产一区二区三区欧美 | 男女视频在线观看免费 | 美女毛片视频 | 免费一级肉体全黄毛片 | 欧美日韩生活片 | 亚洲免费在线观看 | 亚洲免费成人在线 | 欧美1区二区三区公司 | 草久在线播放 | 黄色网址www | 日韩在线一区二区三区视频 | 99久久国产综合精品国 | 国产精品久久久久久一区二区 | 亚洲国产成人91精品 |