這里的問題是當(dāng)我試圖為火狐過渡是不會發(fā)生的。 有人能告訴我這里的根本原因或問題是什么嗎?
如果轉(zhuǎn)換被中斷,transitionend事件及其前綴變體不會觸發(fā)。
根據(jù)W3C規(guī)范:
transitionend事件在轉(zhuǎn)換完成時發(fā)生。如果轉(zhuǎn)換在完成前被刪除,例如transition-property被刪除,則該事件不會觸發(fā)。
CSS過渡如何在瀏覽器層面上工作(見:http://www.w3.org/TR/css3-transitions/#reversing)是,如果一個動畫被一些屬性改變打斷,它通過反向執(zhí)行被“重置”或者在某些情況下被完全忽略。了解這一點可能會有所幫助,因為它可以消除在大多數(shù)項目中使用transitionend的需要。
transitioncancel事件存在,因此您也可以嘗試添加以下代碼片段:
document.getElementById("mylogo").addEventListener('transitioncancel', function(event) {
document.getElementById("mylogotext").className = mylogoText_visible_style";
});
在另一個投票贊成的答案中沒有解釋這種情況的存在。
https://developer . Mozilla . org/en-US/docs/Web/API/Element/transition cancel _ event