我能夠編寫JavaScript旋轉木馬,並認爲這可能是更緊湊使用CSS過渡與nth-child
選擇這樣的:旋轉圖像
img {
transition: all 1s linear; /* or corresponding vendor prefixes */
position:absolute;
}
img:nth-child(1) {
top: 0%;
left: 0%;
}
img:nth-child(2) {
top: 0%;
left: 50%;
}
/*and so on...*/
該項目將然後通過旋轉追加第一個孩子或預先裝入容器的最後一個孩子:
parent.appendChild(parent.children[0]);
此方法適用於除附加元素之外的所有元素。它被完全刪除,然後重新連接,所以它結束在正確的位置,但不使用過渡效果。即使在DOM中重新定位元素時,是否可以使用CSS轉換?
jsFiddle Demo - 單擊該文檔以推進圖像。
+1有趣的問題。 – pimvdb 2012-01-02 22:12:02
我沒有足夠的信心回答,但我真的不這麼認爲。CSS轉換在上面的平面上運行,並且獨立於DOM元素的組織。您可以使用Javascript爲附加動畫,或者更好地切換到類(box-1,box-2,box-3,box-4)而不是nth-child,並使用Javascript將每個類增加一下,或者重置爲1 if以前在4。 – glortho 2012-01-02 22:14:58