我通过以下方式加载 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/