我正在使用CSS過渡有點倒計時吧:爲什麼我需要在jQuery調用之間放置1ms setTimeout()?
.livebar {
background-color: black;
transition: width 15s linear;
width: 100%;
height: 5px;
}
此代碼不能正常工作(在Chrome),在某種意義上說,沒有過渡。寬度會立即進入0:
$("#barbag").append("<div class='livebar'></div>");
$(".livebar").css("width", "0");
...但是這個代碼精美的作品:
$("#barbag").append("<div class='livebar'></div>");
setTimeout(function(){$(".livebar").css("width", "0")}, 1);
此外,在控制檯作品分別做了兩個語句,而是粘貼在這兩個失敗。
似乎Chrome需要一些時間後創建.livebar
股使過渡「積極」。這是一個已知的錯誤,還是我做錯了什麼,或者是完全不同的事情?
這是使用JS的動畫不過,當CSS是更適合這是不理想的。 –
這幾乎肯定會起作用,就像我的'setTimeout()'修復程序一樣,但我想了解這裏發生了什麼! –