我想追加使用jQuery追加CSS文件並等待加載?
$('head').append('<link rel="stylesheet" href="style2.css" type="text/css" />');
這偉大工程CSS文件 - 但是,我有一個運行後的CSS已經增加了一些功能,我不能爲這些想出一個辦法來等到這個文件完成加載?
我該怎麼做?
我想追加使用jQuery追加CSS文件並等待加載?
$('head').append('<link rel="stylesheet" href="style2.css" type="text/css" />');
這偉大工程CSS文件 - 但是,我有一個運行後的CSS已經增加了一些功能,我不能爲這些想出一個辦法來等到這個文件完成加載?
我該怎麼做?
只是檢查時的新的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)
(這是一個工作示例)
啊太棒了:)是的,應該工作,謝謝! – Andy 2012-01-07 05:56:51
我可以看到這是如何工作的,但最好還是哈克。它也不適用於我的場景,因爲我沒有在加載CSS時創建相應的DOM元素。當用戶在前端執行某些操作時,DOM元素會在晚些時候(可能在幾分鐘後)創建。 – 2015-10-05 11:06:10
只是檢查元素的存在,檢查CSS規則,這樣的事情之前:。 '如果($( '文章')長度&& $( '文章')的CSS( '的text-align')=== '中心')...' – 2015-10-06 05:41:13
的第一件事要做的就是把現成的方法,在DOM加載後,將執行這些功能中的功能。
<script type="text/javascript">
jQuery(document).ready(function() {
// Your functions come here
});
</script>
然後只要把你的腳本放在</body>之前。這樣,只要dom加載,append就會被觸發。
<script type="text/javascript">
$('head').append();
</script>
另一種形式給出是使用Load事件:
檢查與工作例子此鏈接,在它裏面,我把屍體用綠色的背景,它加載計算器樣式表時完成加載它改變了身體變白。
http://jsfiddle.net/CQbqA/1/
你混淆了它。該函數不需要包含在DOM就緒函數中,而是您發佈的第二個片段,放置在主體的末尾。 – Purag 2012-01-07 04:12:36
任何原因,你不能只包括在CSS不使用jquery的getgo代碼塊'
'? – 2012-01-07 04:00:49