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