Maison > interface Web > tutoriel CSS > Comment forcer un redessinage du DOM dans Chrome sur Mac ?

Comment forcer un redessinage du DOM dans Chrome sur Mac ?

Patricia Arquette
Libérer: 2024-12-25 03:03:08
original
701 Les gens l'ont consulté

How to Force a DOM Redraw in Chrome on Mac?

Forcer le redessinage du DOM sur Chrome/Mac

Problème :
Dans Chrome pour Mac, forcer un redessinage l'utilisation de l'astuce commune offsetHeight ne fonctionne pas.

Actuel Hack :
Une solution de contournement consiste à ajouter et à supprimer une bordure pour forcer l'élément à sauter visuellement. Cependant, cela introduit un retard notable et peut ne pas être efficace avec des délais d'attente inférieurs.

Solution proposée :
Une approche alternative qui s'est avérée efficace est :

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

// in plain JS
document.getElementById('parentOfElementToBeRedrawn').style.display = 'none';
document.getElementById('parentOfElementToBeRedrawn').style.display = 'block';
Copier après la connexion

Solution améliorée :
Pour un redessinage plus garanti, la méthode suivante insère un nœud de texte vide dans le element :

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
};
Copier après la connexion

Cette approche garantit une refonte complète du DOM, résolvant potentiellement le problème du rendu incorrect dans Chrome pour Mac.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal