您好,登錄后才能下訂單哦!
本文實例為大家分享了javascript圖片輪播效果的具體代碼,供大家參考,具體內容如下
<!DOCTYPE HTML> <html lang="zh-CN"> <head> <meta charset="utf-8"> <title>圖片輪播</title> <style> #box { width:506px; height:306px; margin: 20px auto; border:3px solid black; position:relative; background-color:orange; overflow: hidden; /*overflow: hidden;*/ } .pic { position: absolute; width:500px; height:300px; line-height: 300px; text-align: center; font-size: 100px; color:white; bottom:0; } .red { background-color:red; } .green { background-color:green; } .blue { background-color:blue; } .orange{ background-color: orange; } .move { bottom:300px; transition:bottom 3s; /* 設置圖片移動消耗的時間*/ } </style> </head> <body> <div id="box"> <div id="pic1" class="pic red">1</div> <div id="pic2" class="pic green">2</div> <div id="pic3" class="pic blue">3</div> <div id="pic3" class="pic orange">4</div> </div> <script> window.addEventListener('load',function(){ var pics = document.getElementsByClassName('pic'); //為每個pic元素設置z-index的值 for(let i=0;i<pics.length;i++){ pics[i].style.zIndex = pics.length-i; } //循環播放圖片的函數 var loopPics = (function(){ var index=0; return function(pics,delay){ var recall = function(pic){ //給圖片增加move類,調用css的transition屬性播放移動動畫 pic.className += ' move'; setTimeout(function(){ //取消圖片的move類,圖片返回原位 pic.className=pic.className.replace(' move',''); //改變圖片組的堆疊順序。最外的圖片放到最下面,其他圖片依次向外移動 for(let i=0;i<pics.length;i++){ if(pics[i].style.zIndex==pics.length){ pics[i].style.zIndex=1; } else { pics[i].style.zIndex=pics[i].style.zIndex*1+1; } } index++; if(index==pics.length) index=0; recall(pics[index]); },delay); }; recall(pics[index]); }; })(); //調用函數,循環播放。delay的時間需要大于等于css動畫里設置的圖片移動時間 loopPics(pics,4000); }); </script> </body> </html>
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。