簡體   English   中英

當我刪除新創建的元素類時,CSS3過渡不起作用

[英]CSS3 transition doesn't work when I remove class of newly created element

我所做的:

  1. 創建一個元素,該樣式包含CSS3轉換。
  2. 向其添加一個類(此類的樣式包含background-color屬性)。
  3. 添加innerHTML。
  4. 刪除課程。

當我刪除課程時就像

element.classList.remove('classname')

沒有轉換,但是當我設置0s延遲超時時,它可以工作:

setTimeout(function() { element.classList.remove('classname'); }, 0);

為什么? 如何避免使用setTimeout函數或使用它是否正常?

示例: http//jsfiddle.net/JHevJ/1/

因為您在屏幕計算重新繪制元素之前刪除了類。 你在它首先顯示為該類之前將其刪除,因此它不認為動畫是必要的。

超時使得它“等待”0毫秒然后刪除該類,這使得它首先顯示具有類的元素,“等待”0時間然后刪除該類。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM