javascript - 检测呈现的 CSS 样式

标签 javascript jquery css

我有一个应用程序可以根据用户偏好动态加载 CSS 样式。我使用 requirejs 来加载这些:

require(['css!dir/styles'], function(){ .... });

这很好用,但我不想在所有样式都完全初始化之前显示屏幕。

我已将一个 CSS 类添加到名为 hide-page 的页面主体,然后在回调发生时删除该类。喜欢:

setTimeout(function() { $(document.body).removeClass('hide-page'); }, 100);

但即使设置超时,页面仍然会加载困惑,直到一切都已初始化。我正在考虑执行 setInterval 并检查是否已将特定样式应用于节点,例如:

setInterval(function(){  
    if($(document.body).style('background'') === "#FFFFFF"){
         $(document.body).removeClass('hide-page');
    }
}, 10);

但这有点怪。是否有更好的解决方案来完成此任务?

最佳答案

您没有说明如何隐藏页面内容,但如果您使用 display:none,那可能就是问题所在。

试试 visibility:hidden 代替。这将允许浏览器分配构建页面所需的空间,因此您不应该看到困惑的 FOUC。

关于javascript - 检测呈现的 CSS 样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25145154/

相关文章:

javascript - 如何获取未知数量数组中未知数量元素的所有组合?

html - 等宽 flex 元素,即使在它们包装后

javascript - Typeahead 输入元素样式

javascript - 在 Angular JS 中将 Json 数据从 Controller 传递到 View 来构建表格

javascript - Mapbox 悬停弹出窗口不起作用

javascript - 如何水平对齐面板中具有动态大小的按钮

javascript - 获取 iframe 的当前位置/url 并分配给变量

javascript - 按 Enter 键创建标签,但将文本保留在 Select2 中

Javascript:点击链接下载 pdf

javascript - 更改 Vuetify 时间轴线的颜色