點選上面這張圖片就可以看到效果~
這是 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);
}
沒有留言:
張貼留言