等待css加载

时间:2011-12-14 14:52:54

标签: jquery ajax jquery-deferred

我需要动态加载外部css(没有服务器端),之后我将执行一些函数。

我如何等待css加载?

感谢。

2 个答案:

答案 0 :(得分:1)

您可以使用jQuery get方法。试试这个

$.get("stylesheetUrl", function(contents){
   $("<style type=\"text/css\">" + contents + "</style>").appendTo(document.head);
   //Call your functions here
});

答案 1 :(得分:0)

    //append your css first
    $('head').append('<link rel="stylesheet" href="http://cdn.sstatic.net/stackoverflow/all.css?v=d4a5c7ca0d4c" type="text/css" />');

    var wait_here = setInterval(function(){
      if($(".element").css("float")=== "left"){
         clearInterval(wait_here)
         // Put your function here which needs to be executed after css load
       }
    },50)

其中'50'是它将一直循环的时间间隔,直到加载css。在if()部分检查任何css,如果它被加载,它应该影响该元素。

**如果您不需要附加,请仅使用第二部分。