js輪播圖透明度切換(帶上下頁和底部圓點(diǎn)切換)
更新時(shí)間:2017年04月27日 11:03:10 作者:牛糞
本篇文章主要介紹了js輪播圖透明度切換(帶上下頁和底部圓點(diǎn)切換)的實(shí)例。具有很好的參考價(jià)值。下面跟著小編一起來看下吧
效果圖:
代碼如下:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <style type="text/css"> *{ margin:0; padding:0; border:none; } li{ list-style: none; } #box{ height:340px; width:790px; position: relative; margin:100px auto; } #box #list1{ height:340px; width:790px; } #box #list1 li{ font-size: 80px; line-height: 340px; text-align: center; height:340px; width:790px; position: absolute; left:0; top:0; opacity: 0; filter: alpha(opacity=0); } #box #list1 li img{ height:340px; width:790px; } #shang,#xia{ height:80px; width:50px; color:#212121; background: #ccc; font-size: 60px; font-weight: bold; line-height: 80px; text-align: center; position: absolute; top:130px; opacity: 0.8; filter: alpha(opacity=80); cursor: pointer; } #shang{ left:0; } #xia{ right:0; } #box #list2{ height:20px; width:195px; position: absolute; left:297px; bottom:25px; opacity: 0.8; filter: alpha(opacity=80); } #box #list2 li{ height:20px; width:20px; background: #ccc; border-radius: 50%; float: left; margin-right:5px; cursor: pointer; } #box #list2 li.active{ background: black; } </style> <script type="text/javascript"> onload = function(){ var oBox = document.getElementById('box'); var oLIst1 = document.getElementById('list1'); var aLi1 = oLIst1.getElementsByTagName('li'); var oLIst2 = document.getElementById('list2'); var aLi2 = oLIst2.getElementsByTagName('li'); var oShang = document.getElementById('shang'); var oXia = document.getElementById('xia'); aLi1[0].style.opacity = 1; aLi1[0].style.filter = 'alpha(opacity=100)'; var size = aLi1.length; var i = 0; var timer = setInterval(function(){ i ++; move(); },2000); function move(){ if(i >= size){ i = 0 } if(i < 0){ i = size-1; } for(var j = 0; j < aLi1.length; j ++){ if(j == i){ animate(aLi1[j],{opacity:100}); aLi2[j].className = 'active'; }else{ animate(aLi1[j],{opacity:0}); aLi2[j].className = ''; } } } //前一張 oShang.onclick = function(e){ var evt = e || event; evt.preventDefault(); i --; move(); } //后一張 oXia.onclick = function(e){ var evt = e || event; evt.preventDefault(); i ++; move(); } //下面的圓點(diǎn) for(var k = 0;k < aLi2.length; k ++){ aLi2[k].index = k; aLi2[k].onmouseenter = function(){ i = this.index; move(); } } oBox.onmouseenter = function(){ clearInterval(timer); } oBox.onmouseleave = function(){ timer = setInterval(function(){ i ++; move(); },2000); } /*************************緩沖運(yùn)動(dòng) 可封裝留著以后備用^_^*************************/ function getStyleAttr(obj, attr){ if (window.getComputedStyle){ return getComputedStyle(obj, null)[attr]; } else { return obj.currentStyle[attr]; } } function animate(obj, json, fn){ clearInterval(obj.timer); obj.timer = setInterval(function(){ var bStop = true; for (var attr in json){ var iTarget = json[attr]; var current; if (attr == "opacity"){ current = parseFloat(getStyleAttr(obj, attr))*100; current = Math.round(current); } else { current = parseFloat(getStyleAttr(obj, attr)); current = Math.round(current); } var speed = (iTarget-current)/8; (400-393)/8 speed = speed>0 ? Math.ceil(speed) : Math.floor(speed); if (current != iTarget){ bStop = false; } if (attr == "opacity"){ obj.style[attr] = (current+speed)/100; obj.style.filter = "alpha(opacity=" + (current+speed) + ")"; } else { obj.style[attr] = current+speed + "px"; } } if (bStop){ console.log("停止運(yùn)動(dòng)"); clearInterval(obj.timer); if (fn) { fn(); } } }, 30); } } </script> </head> <body> <div id="box"> <ul id="list1"> <li style="background: red;">1</li> <li style="background: yellow;">2</li> <li style="background: green;">3</li> <li style="background: blue;">4</li> <li style="background: blueviolet;">5</li> <li style="background: brown;">6</li> <li style="background: orangered;">7</li> <li style="background: palevioletred;">8</li> </ul> <ul id="list2"> <li class="active"></li> <li></li> <li></li> <li></li> <li></li> <li></li> <li></li> <li style="margin-right:0px;"></li> </ul> <div id="shang"> < </div> <div id="xia"> > </div> </div> </body> </html>
以上就是本文的全部內(nèi)容,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來一定的幫助,同時(shí)也希望多多支持腳本之家!
您可能感興趣的文章:
- 如何使用JavaScript實(shí)現(xiàn)無縫滾動(dòng)自動(dòng)播放輪播圖效果
- js實(shí)現(xiàn)自動(dòng)播放勻速輪播圖
- js實(shí)現(xiàn)支持手機(jī)滑動(dòng)切換的輪播圖片效果實(shí)例
- vue.js+elementUI實(shí)現(xiàn)點(diǎn)擊左右箭頭切換頭像功能(類似輪播圖效果)
- JS仿京東移動(dòng)端手指撥動(dòng)切換輪播圖效果
- javascript實(shí)現(xiàn)點(diǎn)擊按鈕切換輪播圖功能
- 原生JS實(shí)現(xiàn)旋轉(zhuǎn)輪播圖+文字內(nèi)容切換效果【附源碼】
- js實(shí)現(xiàn)輪播圖效果 純js實(shí)現(xiàn)圖片自動(dòng)切換
- vue自定義js圖片碎片輪播圖切換效果的實(shí)現(xiàn)代碼
- js實(shí)現(xiàn)點(diǎn)擊切換和自動(dòng)播放的輪播圖
相關(guān)文章
JavaScript深拷貝與淺拷貝實(shí)現(xiàn)詳解
深拷貝和淺拷貝是面試中經(jīng)常出現(xiàn)的,主要考察對(duì)基本類型和引用類型的理解深度,這篇文章主要給大家介紹了關(guān)于js深拷貝和淺拷貝的相關(guān)資料,需要的朋友可以參考下2022-11-11JavaScript中isPrototypeOf函數(shù)作用和使用實(shí)例
這篇文章主要介紹了JavaScript中isPrototypeOf函數(shù)作用和使用實(shí)例,本文講解了它的作用和使用方法以及使用實(shí)例,需要的朋友可以參考下2015-06-06微信小程序獲取位置展示地圖并標(biāo)注信息的實(shí)例代碼
這篇文章主要介紹了微信小程序獲取位置展示地圖并標(biāo)注信息的實(shí)例代碼,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-09-09js獲取url中的參數(shù)且參數(shù)為中文時(shí)通過js解碼
這篇文章主要介紹了url中傳遞中文參數(shù)的時(shí)候通過js解碼,需要的朋友可以參考下2014-03-03