Rumah > hujung hadapan web > tutorial css > Bagaimana untuk Memaksa DOM Redraw dalam Chrome pada Mac?

Bagaimana untuk Memaksa DOM Redraw dalam Chrome pada Mac?

Patricia Arquette
Lepaskan: 2024-12-25 03:03:08
asal
701 orang telah melayarinya

How to Force a DOM Redraw in Chrome on Mac?

Paksa DOM Redraw pada Chrome/Mac

Masalah:
Dalam Chrome untuk Mac, memaksa lukisan semula menggunakan helah offsetHeight biasa tidak berfungsi.

Semasa Hack:
Penyelesaian melibatkan penambahan dan pengalihan sempadan untuk memaksa elemen melompat secara visual. Walau bagaimanapun, ia memperkenalkan kelewatan yang ketara dan mungkin tidak berkesan pada tamat masa yang lebih rendah.

Penyelesaian Cadangan:
Pendekatan alternatif yang telah terbukti berjaya ialah:

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

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

Penyelesaian yang Diperbaiki:
Untuk lukisan semula yang lebih terjamin, kaedah berikut memasukkan teks kosong nod ke dalam elemen:

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
};
Salin selepas log masuk

Pendekatan ini memastikan lukisan semula DOM yang lengkap, yang berpotensi menangani isu pemaparan yang salah dalam Chrome untuk Mac.

Atas ialah kandungan terperinci Bagaimana untuk Memaksa DOM Redraw dalam Chrome pada Mac?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan