javascript - jQuery 追加 CSS 文件并等待样式在没有 setInterval 的情况下应用?

标签 javascript jquery

我通过以下方式加载 CSS:

$('head').append('<link rel="stylesheet" href="style2.css" type="text/css" />');

它有效,但我有一个函数需要在应用 CSS 后运行,我不想为它使用 setInterval

我该怎么做?

最佳答案

一个解决方案,如果您可以访问正在加载的 css 文件,
是使用transitionend事件,并激活一个转换,duration 设置为 0.1,从你的 css。

这样,你就确定CSS已经计算出来了。

style2.css

 body{opacity:1;}

index.html

<style>
    body{transition : opacity 0.1s linear; opacity:.9};
</style>
<body>
   ...
<script>
    document.body.addEventListener('transitionend', function(){
        alert('done');
       }, false);
    $('head').append('<link rel="stylesheet" href="style2.css" type="text/css" />');

编辑:
对于那些需要 js 函数(没有外部文件)的函数:https://jsfiddle.net/t0akchuw/

关于javascript - jQuery 追加 CSS 文件并等待样式在没有 setInterval 的情况下应用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32085700/

相关文章:

javascript - 为什么这个静态属性未定义?如何在 Javascript 中访问静态属性

jQuery 表单验证错误

javascript - Hello World 不能在带有 jointjs 的 html 中正常工作?

javascript - 用于滚动页面、更改背景并在 anchor 单击时淡入淡出的 jQuery 插件?

javascript - 在给定索引上将字符串一分为二并返回两个部分

jquery - 检查数组是否为空或 null

javascript - 单独定位 div 元素

javascript - JS 隐藏元素的条件

javascript - 选择文件后立即提交表格

c# - html 从 C# codebehind 访问变量值