點選上面這張圖片就可以看到效果~
這是 google 在 2012/04/09 的 google doodle 所展示的小動畫,
主要是紀念 Eadweard J. Muybridge 英國實驗攝影師 182 歲誕辰,
雖然當天晚上就使用 jquery 做了簡單的單格動畫,
但是一直沒有好好的把程式碼寫好,
這次抽了些時間來把整個google doodle給完整寫出來~
其實整個程式碼並沒有很難,
主要的重點只有兩個:
第一、活用css的背景和遮罩
第二、利用jquery控制動畫時間
主要的重點只有兩個:
第一、活用css的背景和遮罩
#button{width:65px; height:52px; background:url(按鈕圖) 0 -3px no-repeat; z-index:1000; top:78px; left:225px; position:absolute;} #frame{width:469px; height:162px; background-image:url(框框圖); z-index:999; top:20px; left:20px; position:absolute; border:3px solid #ddd;} #div0{width:0; height:0; position:absolute; top:23px; left:23px; z-index:2;} #div1{width:467px; height:162px; position:relative; top:0; left:0; overflow:hidden;} #div2{width:1500px; height:162px; position:absolute; top:0; left:0; background-image:url(馬的圖);}
第二、利用jquery控制動畫時間
function a1(){ $("#div2").animate({"left":0-67*12+"px"},12*190,"easeInQuad",a2); } function a2(){ $("#div2").css({"left":"0"}).animate({"left":0-67*12+"px"},12*72,"linear",a3); } function a3(){ $("#div2").css({"left":"0"}).animate({"left":0-67*12+"px"},12*14.5,"linear",a4); } function a4(){ setTimeout(function(){ if(i<=10){ i=i+1; $("#div2").css({"left":0-67*i+"px"}); a4(); } else{ i=0; $("#div2").css({"left":0-67*i+"px"}); a4(); } },48); }
沒有留言:
張貼留言