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

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

Patricia Arquette
發布: 2024-12-25 03:03:08
原創
701 人瀏覽過

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板