這裏是我的目標描述:使用CSS動畫 - setTimeout的不適變化,打破動畫
- 我有框
display: none
- 在某個時刻,我需要
opacity
動畫來顯示它。
這裏我的解決辦法:
1. transition: opacity 0.5s ease-in-out;
2.在第一個步驟設置display: block; opacity: 0
3.在設置display: block; opacity: 1
第二步,做在setTimeout()
申請的第一步。
問題是,第一步只適用於某些情況 - 有時它有效/有時不適用,瀏覽器只是跳過第一步。我想改變setTimeout
到應該可以解決問題,但它不會 - check my example
爲什麼setTimeout
/不會強制瀏覽器應用的第一步?如何強制瀏覽器在應用第二步之前應用第一步?
它必須在開始時隱藏+我通過'.box.is-animate-enter'設置'display:block'。我的問題:爲什麼'setTimeout'只工作somites /原因是什麼/如何使它穩定? – 2015-03-31 00:04:46
我不明白你的意思是'有時候有效'。我看到的行爲是不變的,有或沒有分配「顯示」。唯一的區別是它使用'display:block;'來動畫,而使用'display:none'則只會閃爍。我將用可能的解釋編輯我的解決方案。 – 2015-03-31 00:15:52
如果你使用它,你會看到有時它工作。我用setTimeout而不是requestAnimationFrame更新了一個例子。在我的電腦上,它在大多數情況下在Chrome中運行,並且在FF中不起作用 – 2015-03-31 13:26:27