亚洲免费在线视频-亚洲啊v-久久免费精品视频-国产精品va-看片地址-成人在线视频网

您的位置:首頁技術文章
文章詳情頁

JavaScript實現原型封裝輪播圖

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

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

只要用dom元素調用這個方法,傳一個數組進去,里面放的是圖片的路徑。

<!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; //確保參數總是數組 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圖片輪播

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 国产精品久久久久久久9999 | 6一10周岁毛片免费 6一12呦女精品 | 亚洲男人的天堂久久无 | 在线看片日本 | 成人久久18免费网站入口 | 亚洲在线观看免费视频 | 三级视频网站在线观看播放 | 中文字幕视频免费在线观看 | 久久综合精品国产一区二区三区无 | 男同黄网站 | 女人张开腿让男人捅爽 | 亚洲综色 | 拍拍拍又黄又爽无挡视频免费 | 成人亚洲精品 | 成人合集大片bd高清在线观看 | 欧美一级精品高清在线观看 | 国产女王女m视频vk 国产女王丨vk | 一级毛片视频在线 | 日韩美女爱爱 | 久久国产亚洲欧美日韩精品 | 萌白酱在线喷水福利视频 | 日产日韩亚洲欧美综合搜索 | 亚洲国产成人精彩精品 | 国产l精品国产亚洲区久久 国产tv在线 | 亚洲精品国产一区二区三区四区 | 日本 欧美 在线 | 国产精品青草久久福利不卡 | jizz国产精品免费麻豆 | 国产亚洲精品线观看77 | 世界一级毛片 | 久久国产精品久久久久久 | 91精品一区二区三区在线播放 | 综合久久一区二区三区 | 欧美成人高清手机在线视频 | 欧美日韩国产在线观看一区二区三区 | 欧美一级视频免费观看 | 国产一级大片免费看 | 国产精品日韩欧美在线第3页 | 久久综合免费 | 欧美国产综合在线 | 狠狠色综合色综合网站久久 |