jQuery是否附加CSS文件并等待加载?
我正在尝试使用jQuery是否附加CSS文件并等待加载?,jquery,css,append,Jquery,Css,Append,我正在尝试使用 $('head')。追加(''); 这很好用-但是,我有一些函数在添加css后运行,我想不出一种方法让这些函数等到这个文件加载完成后再运行 如何执行此操作?首先要做的是将函数放入ready方法中,该方法将在加载DOM后执行这些函数 <script type="text/javascript"> jQuery(document).ready(function() { // Your functions come here }); </script&g
$('head')。追加('');
这很好用-但是,我有一些函数在添加css后运行,我想不出一种方法让这些函数等到这个文件加载完成后再运行
如何执行此操作?首先要做的是将函数放入ready方法中,该方法将在加载DOM后执行这些函数
<script type="text/javascript">
jQuery(document).ready(function() {
// Your functions come here
});
</script>
jQuery(文档).ready(函数(){
//你的职能就在这里
});
然后把你的脚本放在。这样,将在加载dom时触发追加
<script type="text/javascript">
$('head').append();
</script>
$('head').append();
另一种方法是使用加载事件:使用工作示例检查此链接,其中我已将主体设置为绿色背景,它加载stackoverflow样式表,加载完成后将主体更改为白色。
只需检查新CSS的其中一条规则是否已应用:
$('head').append('<link rel="stylesheet" href="http://cdn.sstatic.net/stackoverflow/all.css?v=d4a5c7ca0d4c" type="text/css" />');
var fakeListener = setInterval(function(){
if($("body").css("text-align")=== "center"){
clearInterval(fakeListener)
// What you want to do after it loads
}
},50)
$('head')。追加('');
var fakeListener=setInterval(函数(){
if($(“body”).css(“文本对齐”)=“居中”){
clearInterval(fakeListener)
//加载后你想做什么
}
},50)
(这是一个有效的例子)有什么理由不使用jquery就不能在getgo的
块中包含css吗?你把它搞混了。该函数不需要包装在DOM就绪函数中,而是您在正文末尾发布的第二个代码片段。我可以看到这是如何工作的,但充其量也很粗糙。它也不适用于我的场景,因为我在加载CSS时没有创建相应的DOM元素。当用户在前端执行某些操作时,DOM元素的创建要晚得多(可能几分钟后)。在检查css规则之前,只需检查元素是否存在,如下所示:if($('article').length&&$('article').css('text-align')=='center')…