判斷控件是否已加載完成的代碼
更新時間:2010年02月24日 21:31:30 作者:
判斷一個控件是否已加載完成其實很簡單,就是利用瀏覽器的解析順序。通俗的說,代碼的位置越靠前,就越先加載。
例如:
<input id="btnPost" type="button" value="button" />
<img src="../jqueryui/themes/base/images/ui-icons_cd0a0a_256x240.png" alt="" id="imga" />
瀏覽器在解析時,首先加載 input標(biāo)簽,然后加載img標(biāo)簽。
此時如果想判斷img標(biāo)簽是否加載完成,可以在img標(biāo)簽的前后加上腳本,例如
代碼
<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>
注意此時的img標(biāo)簽前后的js代碼,上面的js代碼先獲取img對象,然后判斷該對象是否為空,如果是空的話說明沒有加載完成,那么提示用戶“正在生成圖片控件”,加載完成后將提示信息隱藏。
上面的方法適用于所有控件或標(biāo)簽,但是對于本身就具有onload事件的控件或標(biāo)簽(該事件在對應(yīng)的控件或標(biāo)簽加載完成后觸發(fā)),我們完全可以把img后面的代碼封裝成一個函數(shù)供onload調(diào)用,如下
代碼
<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>
行了就是這么多了,有問題留言
復(fù)制代碼 代碼如下:
<input id="btnPost" type="button" value="button" />
<img src="../jqueryui/themes/base/images/ui-icons_cd0a0a_256x240.png" alt="" id="imga" />
瀏覽器在解析時,首先加載 input標(biāo)簽,然后加載img標(biāo)簽。
此時如果想判斷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>
注意此時的img標(biāo)簽前后的js代碼,上面的js代碼先獲取img對象,然后判斷該對象是否為空,如果是空的話說明沒有加載完成,那么提示用戶“正在生成圖片控件”,加載完成后將提示信息隱藏。
上面的方法適用于所有控件或標(biāo)簽,但是對于本身就具有onload事件的控件或標(biāo)簽(該事件在對應(yīng)的控件或標(biāo)簽加載完成后觸發(fā)),我們完全可以把img后面的代碼封裝成一個函數(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>
行了就是這么多了,有問題留言
您可能感興趣的文章:
- 網(wǎng)頁加載時頁面顯示進度條加載完成之后顯示網(wǎng)頁內(nèi)容
- 用js判斷頁面是否加載完成實現(xiàn)代碼
- js動態(tài)加載以及確定加載完成的代碼
- JS對外部文件的加載及對IFRMAME的加載的實現(xiàn),當(dāng)加載完成后,指定指向方法(方法回調(diào))
- jquery加載頁面的方法(頁面加載完成就執(zhí)行)
- js focus不起作用的解決方法(主要是因為dom元素是否加載完成)
- js下判斷 iframe 是否加載完成的完美方法
- Javascript 判斷Flash是否加載完成的代碼
- 判斷iframe是否加載完成的完美方法
- js或者jquery判斷圖片是否加載完成實現(xiàn)代碼
相關(guān)文章
JavaScript實現(xiàn)點擊單選按鈕改變輸入框中文本域內(nèi)容的方法
這篇文章主要介紹了JavaScript實現(xiàn)點擊單選按鈕改變輸入框中文本域內(nèi)容的方法,涉及javascript單選按鈕控制頁面元素樣式的相關(guān)技巧,非常簡單實用,需要的朋友可以參考下2015-08-08
如何通過js實現(xiàn)圖片預(yù)覽功能【附實例代碼】
如何通過js實現(xiàn)圖片預(yù)覽功能呢?下面小編就為大家?guī)硪黄胘s實現(xiàn)圖片預(yù)覽功能。給大家做個參考吧,一起跟隨小編過來看看2016-03-03
TypeScript判斷兩個數(shù)組的內(nèi)容是否相等的實現(xiàn)
本文主要介紹了TypeScript?判斷兩個數(shù)組的內(nèi)容是否相等,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-11-11

