色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

判斷css加載完

錢淋西2年前9瀏覽0評論

CSS是網頁設計過程中必不可少的一部分,但在實際開發中,我們經常需要在CSS加載完畢后做些列操作,所以如何判斷CSS是否已經完全加載完畢就成了我們需要解決的問題。

function isCssLoaded() {
var links = document.getElementsByTagName("link");
for (var i = 0; i< links.length; i++) {
if (links[i].getAttribute("rel") === "stylesheet" && links[i].getAttribute("href")) {
return false;
}
}
return true;
}

上述代碼簡單介紹了一種判斷CSS加載狀態的方法。

首先,我們獲取所有<link>標簽,然后通過getAttribute()方法獲取到它們的rel屬性和href屬性,rel屬性必須是“stylesheet”,而href屬性不能是空的。如果存在rel屬性不為“stylesheet”或者href屬性為空的<link>標簽,則返回false,即CSS還沒有加載完畢。反之,則表示CSS已經加載完畢,返回true。

當然,這只是判斷CSS是否加載完成,如果需要在CSS加載完成后執行一些操作,我們可以在代碼中加入回調函數,等到CSS加載完畢后自動執行回調函數。下面是一段示例代碼:

function loadCss(url, callback) {
var link = document.createElement("link");
link.rel = "stylesheet";
link.type = "text/css";
link.href = url;
document.getElementsByTagName("head")[0].appendChild(link);
if (typeof callback === "function") {
var timer = setInterval(function() {
if (isCssLoaded()) {
clearInterval(timer);
callback();
}
}, 50);
}
}

這段代碼中,我們定義了一個loadCss()函數,它接受兩個參數,一個是CSS文件的URL地址,另一個是回調函數。當CSS文件加載完成后,會自動執行回調函數。

具體執行流程如下:

  1. 創建一個<link>標簽,并設置rel、type和href屬性,然后將它添加到<head>標簽中;
  2. 判斷回調函數是否存在,如果存在則啟用定時器,不斷地檢測CSS是否已經加載完畢;
  3. 當CSS加載完成后,清除定時器并執行回調函數。

這樣,我們就可以在CSS加載完成后執行回調函數了。