首頁 >web前端 >css教學 >如何在 Mac 上的 Chrome 強制 DOM 重繪?

如何在 Mac 上的 Chrome 強制 DOM 重繪?

Patricia Arquette
Patricia Arquette原創
2024-12-25 03:03:08703瀏覽

How to Force a DOM Redraw in Chrome on Mac?

在Chrome/Mac 上強制DOM 重繪

問題:

當前駭客:解決方法包括添加和刪除邊框以強制元素在視覺上跳躍。但是,它會帶來明顯的延遲,並且在較低的超時下可能無效。

建議的解決方案:已證明成功的替代方法是:

// in jQuery
$('#parentOfElementToBeRedrawn').hide().show(0);

// in plain JS
document.getElementById('parentOfElementToBeRedrawn').style.display = 'none';
document.getElementById('parentOfElementToBeRedrawn').style.display = 'block';

改進的解決方案:為了更有保證的重繪,以下方法插入一個空將文本節點插入到元素中:

var forceRedraw = function(element) {
  if (!element) { return; }
  var n = document.createTextNode(' ');
  var disp = element.style.display;
  element.appendChild(n);
  element.style.display = 'none';
  setTimeout(function() {
    element.style.display = disp;
    n.parentNode.removeChild(n);
  }, 20); // Adjust timeout as needed
};
此方法可確保完整的DOM 重繪,可能解決Mac 版Chrome 中渲染不正確的問題。

以上是如何在 Mac 上的 Chrome 強制 DOM 重繪?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn