背景
CSS3中引入了很多新的特性,其中一個就是trainsition
,這個新特性讓我們在一種樣式轉變為另一種樣式時,無需使用Flash & Javascript。這個特性在越來越多的專案中被應用。
回放
在寫自己部落格程式中,由於全站採用Websocket or ajax進行`無延遲`通訊,所以在header處新增了一個loader-bar,實時顯示`進度`(很多網站應該都有這樣的設計)。在載入完成之後需要隱藏這個loader-bar,但是因為用了CSS3的trainsition,所以之前我的做法是在增加進度條時,檢測是否全部完成(寬度是否達到100%之類的),然後設定一個定時器,這個定時器需要調整到和transition-duration相適應。但是這樣不優雅。
解決
其實很簡單,只怪自己粗心沒看到文件底部的更多相關,方案如下
element.addEventListener("transitionend", function() {
// do something
}, true);