在 Mac 版 Chrome 上强制 DOM 刷新
尽管具有有效的 HTML 和 CSS,Mac 上的 Chrome 偶尔仍无法正确渲染元素或忽略渲染完全是他们。虽然通过检查器检查 DOM 通常可以解决问题,但在某些情况下,Chrome 会故意避免重绘。
适用于其他浏览器操作系统组合的常见重绘/刷新技巧涉及修改未使用的 CSS 属性,获取一些触发重绘的信息,然后恢复属性更改。
但是,此方法在 Chrome for Mac 中失败。必须采用更复杂的解决方案:
$(el).css("border", "solid 1px transparent"); setTimeout(function() { $(el).css("border", "solid 0px transparent"); }, 1000);
此方法会导致元素明显跳跃,从而强制重绘。但是,将超时减少到 500 毫秒以下可能会导致浏览器在元素恢复到原始状态之前重新绘制,从而使效果无效。
替代重绘方法
另一种简单刷新可能就足够的方法是隐藏然后立即显示需要的元素的父容器重绘。
// jQuery $('#parentOfElementToBeRedrawn').hide().show(0); // Plain JavaScript 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; // don't worry about previous display style element.appendChild(n); element.style.display = 'none'; setTimeout(function(){ element.style.display = disp; n.parentNode.removeChild(n); },20); // you can play with this timeout to make it as short as possible }
这会强制进行重排,如 Paul Irish 所描述的: http://paulirish.com/2011/dom-html5-css3-performance/
以上是如何在 Mac 上的 Chrome 中强制刷新 DOM?的详细内容。更多信息请关注PHP中文网其他相关文章!

这是我们在形式可访问性上进行的小型系列中的第三篇文章。如果您错过了第二篇文章,请查看“以:focus-visible的管理用户焦点”。在

本教程演示了使用智能表单框架创建外观专业的JavaScript表单(注意:不再可用)。 尽管框架本身不可用,但原理和技术仍然与其他形式的建筑商相关。

CSS盒子阴影和轮廓属性获得了主题。让我们查看一些在真实主题中起作用的示例,以及我们必须将这些样式应用于WordPress块和元素的选项。

Svelte Transition API提供了一种使组件输入或离开文档(包括自定义Svelte Transitions)时动画组件的方法。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

禅工作室 13.0.1
功能强大的PHP集成开发环境

SublimeText3 英文版
推荐:为Win版本,支持代码提示!

Dreamweaver Mac版
视觉化网页开发工具

ZendStudio 13.5.1 Mac
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具