使用javascript显示/隐藏元素时,Safari不会重新绘制

时间:2016-08-17 12:35:21

标签: javascript jquery macos safari repaint

我正在尝试使用jQuery进行简单的DOM更改,使用show()/ hide(),甚至使用vanilla javascript尝试进行相同的更改。

一切都很好Chrome和& Firefox但在Safari 9.1.2(11601.7.7)中没有重复发生,因此dom不会根据显示/隐藏的元素进行重排。

我尝试过谷歌上的技巧,包括:

submit

还有CSS转换技巧

sel.style.display='none';
sel.offsetHeight; // no need to store this anywhere, the reference is enough
sel.style.display='';

...在页面加载时添加类重绘。

都没有工作。有关强制Safari重新绘制的提示吗?

有效的一件事是在开发工具中的任何元素上选择/取消选择样式,从而完全重新绘制屏幕。然而,尝试使用Javascript强制执行此操作似乎不起作用。

0 个答案:

没有答案