當我們改變一個 HTML 元素的樣式時,瀏覽器通常會合并多個樣式變化并在一次重繪中渲染元素。但有時我們需要在樣式變化后立即重繪元素以實現更好的用戶體驗。
這時我們可以使用 JavaScript 來手動觸發 CSS 重繪,使得更改后的樣式立即生效。
let element = document.querySelector(".box"); // 在改變樣式前 element.style.backgroundColor = "blue"; // 觸發 CSS 重繪 let temp = element.offsetWidth; // 改變樣式后 element.style.backgroundColor = "green";
在這里,我們使用了一個變量 temp 來存儲元素的寬度,雖然這個變量沒有實際作用,但它觸發了 CSS 重繪機制,讓我們更改后的樣式立即生效。
需要注意的是,觸發 CSS 重繪會帶來性能開銷,因此在實際應用中應該謹慎使用。我們應該盡量避免在多次重繪中重復觸發 CSS 重繪,而是應該合并并批量處理多個樣式變化。
上一篇js中關閉div的css
下一篇jsp表格精美css布局