原生js和css實(shí)現(xiàn)圖片輪播效果
本文實(shí)例為大家分享了javascript圖片輪播效果的具體代碼,供大家參考,具體內(nèi)容如下
<!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; /* 設(shè)置圖片移動(dòng)消耗的時(shí)間*/ } </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'); //為每個(gè)pic元素設(shè)置z-index的值 for(let i=0;i<pics.length;i++){ pics[i].style.zIndex = pics.length-i; } //循環(huán)播放圖片的函數(shù) var loopPics = (function(){ var index=0; return function(pics,delay){ var recall = function(pic){ //給圖片增加move類,調(diào)用css的transition屬性播放移動(dòng)動(dòng)畫 pic.className += ' move'; setTimeout(function(){ //取消圖片的move類,圖片返回原位 pic.className=pic.className.replace(' move',''); //改變圖片組的堆疊順序。最外的圖片放到最下面,其他圖片依次向外移動(dòng) 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]); }; })(); //調(diào)用函數(shù),循環(huán)播放。delay的時(shí)間需要大于等于css動(dòng)畫里設(shè)置的圖片移動(dòng)時(shí)間 loopPics(pics,4000); }); </script> </body> </html>
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
JS動(dòng)態(tài)插入腳本和插入引用外部鏈接腳本的方法
js 動(dòng)態(tài)插入腳本的是在頁面加載時(shí)不存在,但將來的某一時(shí)刻通過修改該 DOM 動(dòng)態(tài)添加的腳本。接下來通過本文給大家介紹JS動(dòng)態(tài)插入腳本和插入引用外部鏈接腳本,需要的朋友可以參考下2018-05-05swiper動(dòng)態(tài)改變滑動(dòng)內(nèi)容的實(shí)現(xiàn)方法
假設(shè)當(dāng)前顯示的是1,往左滑動(dòng)一個(gè)遞減1,往右滑動(dòng)一個(gè)遞增1。下面通過實(shí)例代碼給大家講解swiper動(dòng)態(tài)改變滑動(dòng)內(nèi)容的實(shí)現(xiàn)方法,感興趣的朋友一起看看吧2018-01-01javascript實(shí)現(xiàn)的淘寶旅行通用日歷組件用法實(shí)例
這篇文章主要介紹了javascript實(shí)現(xiàn)的淘寶旅行通用日歷組件,以實(shí)例形式分析了該日歷組件的相關(guān)設(shè)置及使用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-08-08JavaScript實(shí)現(xiàn)的類字典插入或更新方法實(shí)例
這篇文章主要介紹了JavaScript實(shí)現(xiàn)的類字典插入或更新方法,實(shí)例分析了javascript針對類字典的插入與更新技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-07-07JS Testing Properties 判斷屬性是否在對象里的方法
下面小編就為大家?guī)硪黄狫S Testing Properties 判斷屬性是否在對象里的方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-10-10elemetUi 組件--el-upload實(shí)現(xiàn)上傳Excel文件的實(shí)例
這篇文章主要介紹了elemetUi 組件--el-upload實(shí)現(xiàn)上傳Excel文件的實(shí)例的相關(guān)資料,希望通過本文大家能夠?qū)崿F(xiàn)這樣的功能,需要的朋友可以參考下2017-10-10