Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery是否附加CSS文件并等待加载?_Jquery_Css_Append - Fatal编程技术网

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')…