麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > JavaScript > 正文

js實現圖片切換(動畫版)

2019-11-19 18:17:03
字體:
來源:轉載
供稿:網友

學習了妙味課堂的圖片切換(動畫版)

這個小效果相對簡單一點。

知識預備:

【1】background-position-x

background-position屬性設置背景原圖像(由 background-image 定義)的位置,意味著使用這個屬性的前提是必須設置背景原圖像background-image。

background-position有兩個屬性值, background-position:x | y,用法上可以對其一個屬性單獨使用 background-position-x 和 background-position-y。

準備工作完畢,開始寫代碼

第一步

由于這次需要的div很多,所以采用動態添加的方式,直接看代碼

<style> body{ margin: 0; background-color: #5e5e5e; } #box{ width: 857px; height: 574px; padding-top: 126px; padding-left:143px; background: url(img/bg.png) no-repeat; margin: 0px auto; } #wrap{ width: 700px; height: 420px; transform-style: preserve-3d; perspective: 800px; } #wrap div{ width: 10px; height: 420px; background: url(img/01.png) no-repeat; float: left; transition: .5s; } </style></head><body> <div id="box"> <div id="wrap"></div> </div> <script> //在wrap下,寫70個div,每個div顯示一張圖片的一小片部分,這樣70個div能完整的顯示出一張圖片 for(var i=0;i<70;i++){ str +='<div style="background-position-x:'+(-10*i)+'px"></div>'; } oWrap.innerHTML = str; //獲取70個div var divs = oWrap.getElementsByTagName('div');    </script> </body>

第二步

寫tab()函數,設置每個div要做的動畫

tab()函數

// 每個div設置前一個div的透明度為1,并且設置自己的透明度為0和背景圖片 function tab(n){ // 0  if(divs[n-1]){ divs[n-1].style.opacity = 1; } // 70 if(divs[n]){ divs[n].style.opacity = 0; divs[n].style.backgroundImage = "url(img/0"+imgNum+".png)"; } }

第三步

寫go()函數,利用定時器改變tab()函數的參數并且適時的改變背景圖片

go()

//給tab()函數傳遞n值 function go(){ timer = setInterval(function(){ tab(num); num++; //一張圖片切換完畢 if(num == 71){ clearInterval(timer); //切換下一張圖片 imgNum++; //num清0,動畫效果從第一個div開始 num = 0; //當切到最后一張圖片時,在從第一張開始切換 if(imgNum == 6){ imgNum = 1; } //切換完一張圖片時切換下一張圖片的間隔 setTimeout(go,800); } //div變換的速度 },80); }

總結:這個動畫效果實現起來簡單,代碼問題不大,主要就是實現思路的問題。

源碼:

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>圖片切換(動畫版)</title> <style> body{ margin: 0; background-color: #5e5e5e; } #box{ width: 857px; height: 574px; padding-top: 126px; padding-left:143px; background: url(img/bg.png) no-repeat; margin: 0px auto; } #wrap{ width: 700px; height: 420px; transform-style: preserve-3d; perspective: 800px; } #wrap div{ width: 10px; height: 420px; background: url(img/01.png) no-repeat; float: left; transition: .5s; } </style></head><body> <div id="box"> <div id="wrap"></div> </div> <script> //在wrap下,寫70個div,每個div顯示一張圖片的一小片部分,這樣70個div能完整的顯示出一張圖片 for(var i=0;i<70;i++){ str +='<div style="background-position-x:'+(-10*i)+'px"></div>'; } oWrap.innerHTML = str; //獲取70個div var divs = oWrap.getElementsByTagName('div'); go(); //給tab()函數傳遞n值 function go(){ timer = setInterval(function(){ tab(num); num++; //一張圖片切換完畢 if(num == 71){ clearInterval(timer); //切換下一張圖片 imgNum++; //num清0,動畫效果從第一個div開始 num = 0; //當切到最后一張圖片時,在從第一張開始切換 if(imgNum == 6){ imgNum = 1; } //切換完一張圖片時切換下一張圖片的間隔 setTimeout(go,800); } //div變換的速度 },80); } // 每個div設置前一個div的透明度為1,并且設置自己的透明度為0和背景圖片 function tab(n){ // 0  if(divs[n-1]){ divs[n-1].style.opacity = 1; } // 70 if(divs[n]){ divs[n].style.opacity = 0; divs[n].style.backgroundImage = "url(img/0"+imgNum+".png)"; } } </script></body></html>

以上就是本文的全部內容,希望本文的內容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持武林網!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 粉色视频污 | 免费黄色a | 色视频在线| 欧美一级做一级爱a做片性 久久久资源网 | 一边吃奶一边摸下娇喘 | 成人毛片免费播放 | 国产午夜亚洲精品理论片大丰影院 | 久久久99精品视频 | 毛片一级视频 | 国产99视频在线观看 | 国产亚洲精品久久久久久久久久 | 看91| 精国产品一区二区三区四季综 | 黄色片免费在线 | 99精品视频免费 | 久久亚洲精品11p | 一区二区免费看 | 免费看日韩片 | 中文字幕一区二区三区四区 | 亚洲视频综合 | 高潮激情aaaaa免费看 | 久久精品片| 久久国产精品二国产精品中国洋人 | 久久男人的天堂 | 97青青 | 视频二区国产 | 久久亚洲美女视频 | 91短视频在线观看视频 | 黄片一级毛片 | 香蕉成人在线视频 | 在线成人看片 | 日日做夜夜操 | 黄色片网站免费在线观看 | 91精品国产一区二区三区四区在线 | 羞羞视频2023 | 看全色黄大色黄大片女图片 | 国产精品久久久久久婷婷天堂 | 久草在线资源观看 | 中文字幕 亚洲一区 | 亚洲视屏 | 国产精品免费麻豆入口 |