检测CSS样式渲染
Detect CSS Style Rendered
我有一个基于用户偏好动态加载CSS样式的应用程序。我使用require来加载如下内容:
require(['css!dir/styles'], function(){ .... });
这个效果很好,但是我不想在所有样式完全初始化之前显示屏幕。
我在页面的主体中添加了一个名为hide-page
的CSS类,然后在发生回调时删除该类。如:
setTimeout(function() { $(document.body).removeClass('hide-page'); }, 100);
,但即使有settimeout,页面仍然加载混乱,直到所有内容初始化。我正在考虑做一个setInterval和检查如果一个特定的风格已经应用到一个节点,如:
setInterval(function(){
if($(document.body).style('background'') === "#FFFFFF"){
$(document.body).removeClass('hide-page');
}
}, 10);
但这有点俗气。有没有更好的解决方案?
您没有说明如何隐藏页面内容,但如果您使用display:none
,这可能是问题。
试试visibility:hidden
。这将允许浏览器分配构建页面所需的空间,因此您不应该看到混乱的FOUC。
相关文章:
- 如果文本字段为空,则使用JavaScript应用CSS样式
- FF和Chromium中CSS样式按钮的外观差异
- CSS样式属性留空
- 使用javascript单击同一按钮,在两种样式之间更改css值
- 用CSS在CKEditor中设置预览样式
- Javascript+动态菜单+当前链接样式(CSS)+基于PHP的网站
- 如何使用jQuery转换所有带有动态类的内联样式css
- iFrame 中的实时预览和保存样式.css每 30 秒一次
- 如何更改 jquery UI 数据选择器的样式 (CSS)
- 在Javascript中设置左样式CSS属性以移动滑块
- css+jQuery样式.css切换器,用于新的jQuery版本
- Chrome 29样式/Css问题
- 如何更改工具提示的样式/css
- 字体Awesome与半样式CSS
- Angular2组件样式/css没有被浏览器应用在ngafterviewit中
- 如何改变网页内容,而不删除任何样式/css/图形
- 使用Javascript在不影响打印样式的情况下更改显示样式(CSS)
- 使用 Get Time Javascript 更改样式 CSS
- 自定义下拉列表样式(CSS/JS与ASP.. NET c#连接)
- 为输入类型文件按钮添加禁用样式(css)