我想要創建一個'連鎖'動畫,將屏幕上的div元素連續兩步移動到屏幕上的兩個不同點。連鎖webkit動畫
因此,如果我的div開始於(0,0),我希望這個div在2秒內動起來並移向(100,100)。到達後一個目的地後,再次進行動畫並在3秒內移動到指向(200,200)。
使用-webkit-animation我可以做一個翻譯或動畫,但我不能鏈接第二個動畫在第一個完成後開始 - 因爲我沒有提供的句柄(事件或CSS類),可以給我這樣的信息。
我很高興使用一點JavaScript魔術作爲解決方案的一部分。
下面是一些代碼來可視化什麼,我試圖做的:
HTML:
<div id="box"></div>
CSS:
body {
position: relative;
}
#box {
width: 64px;
height: 64px;
position: absolute;
text-indent: -9999px;
}
.translate1 {
-webkit-transform: translate(100px, 100px);
-webkit-transition: all 2s ease-in;
}
.translate2 {
-webkit-transform: translate(100px, 100px);
-webkit-transition: all 23 ease-in;
}
的Javascript
$('#box').click(function(){ $(this).addClass('translate1') });
編輯:在解決方案之後T採用WebKit的動畫,因爲它是目前在OSX顯示流暢類似天然的動畫
代碼豐富的代碼片段。我的問題的答案真的是'webkitTransitionEnd'事件,當我在這個線程中提出這個事件時,我就知道這個事件。你在這裏使用的jQuery包裝器也非常棒。我可能會嘗試將它調好一點點,並儘快與你分享:) – Hady 2011-06-09 10:50:03
這真是太棒了 - 我想在某個時候將它製作成適當的插件,但還沒有機會。 – 2011-06-09 10:57:58