|
復(fù)制代碼 代碼如下:
<input id="btnPost" type="button" value="button" />
<img src="../jqueryui/themes/base/images/ui-icons_cd0a0a_256x240.png" alt="" id="imga" />
瀏覽器在解析時(shí),首先加載 input標(biāo)簽,然后加載img標(biāo)簽。
此時(shí)如果想判斷img標(biāo)簽是否加載完成,可以在img標(biāo)簽的前后加上腳本,例如
代碼
復(fù)制代碼 代碼如下:
<div id="loading"></div>
<input id="btnPost" type="button" value="button" />
<script type="text/Javascript">
var msg = document.getElementById("imga");
if (msg == null) {
document.getElementById("loading").innerHTML = "正在生成圖片控件...";//此處使用setTimeout函數(shù)不管用
}
</script>
<img src="../jqueryui/themes/base/images/ui-icons_cd0a0a_256x240.png" alt="" id="imga"/>
<script> document.getElementById("loading").innerHTML = "";</script>
注意此時(shí)的img標(biāo)簽前后的js代碼,上面的js代碼先獲取img對(duì)象,然后判斷該對(duì)象是否為空,如果是空的話說明沒有加載完成,那么提示用戶“正在生成圖片控件”,加載完成后將提示信息隱藏。
上面的方法適用于所有控件或標(biāo)簽,但是對(duì)于本身就具有onload事件的控件或標(biāo)簽(該事件在對(duì)應(yīng)的控件或標(biāo)簽加載完成后觸發(fā)),我們完全可以把img后面的代碼封裝成一個(gè)函數(shù)供onload調(diào)用,如下
代碼
復(fù)制代碼 代碼如下:
<script type="text/Javascript">
function loadedImg() { document.getElementById("loading").innerHTML = ""; }
</script>
</head>
<body >
<input id="autocomplete"/>
<div id="loading"></div>
<input id="btnPost" type="button" value="button" />
<script type="text/Javascript">
var msg = document.getElementById("imga");
if (msg == null) {
document.getElementById("loading").innerHTML = "正在圖片控件...";//此處使用setTimeout函數(shù)不管用
}
</script>
<img src="../jqueryui/themes/base/images/ui-icons_cd0a0a_256x240.png" alt="" id="imga" onload="loadedImg();"/>
</body>
從上面的代碼可以看出,img標(biāo)簽后面的代碼已經(jīng)封裝成loadedimg方法被img的onload調(diào)用。
那哪些控件或標(biāo)簽具有onload事件呢?我在網(wǎng)上查了,如下(不知道全不全):
<body>, <frame>, <frameset>, <iframe>, <img>, <link>, <script>
行了就是這么多了,有問題留言
JavaScript技術(shù):判斷控件是否已加載完成的代碼,轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。