判斷控件是否已加載完成的代碼
更新時(shí)間:2010年02月24日 21:31:30 作者:
判斷一個(gè)控件是否已加載完成其實(shí)很簡(jiǎn)單,就是利用瀏覽器的解析順序。通俗的說,代碼的位置越靠前,就越先加載。
例如:
<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)簽的前后加上腳本,例如
代碼
<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)用,如下
代碼
<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" />
瀏覽器在解析時(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>
行了就是這么多了,有問題留言
您可能感興趣的文章:
- 網(wǎng)頁加載時(shí)頁面顯示進(jìn)度條加載完成之后顯示網(wǎng)頁內(nèi)容
- 用js判斷頁面是否加載完成實(shí)現(xiàn)代碼
- js動(dòng)態(tài)加載以及確定加載完成的代碼
- JS對(duì)外部文件的加載及對(duì)IFRMAME的加載的實(shí)現(xiàn),當(dāng)加載完成后,指定指向方法(方法回調(diào))
- jquery加載頁面的方法(頁面加載完成就執(zhí)行)
- js focus不起作用的解決方法(主要是因?yàn)閐om元素是否加載完成)
- js下判斷 iframe 是否加載完成的完美方法
- Javascript 判斷Flash是否加載完成的代碼
- 判斷iframe是否加載完成的完美方法
- js或者jquery判斷圖片是否加載完成實(shí)現(xiàn)代碼
相關(guān)文章
純js實(shí)現(xiàn)的論壇常用的運(yùn)行代碼的效果
bluidea論壇的腳本板塊的版主寫的,不錯(cuò),轉(zhuǎn)到這!2008-07-07JavaScript設(shè)計(jì)模式之責(zé)任鏈模式實(shí)例分析
這篇文章主要介紹了JavaScript設(shè)計(jì)模式之責(zé)任鏈模式,結(jié)合實(shí)例形式分析了責(zé)任鏈模式的概念、原理及具體定義與使用技巧,需要的朋友可以參考下2019-01-01javascript中使用replaceAll()函數(shù)實(shí)現(xiàn)字符替換的方法
第一次發(fā)現(xiàn)JavaScript中replace()?方法如果直接用str.replace("-","!")?只會(huì)替換第一個(gè)匹配的字符.2010-12-12微信小程序webview與h5通過postMessage實(shí)現(xiàn)實(shí)時(shí)通訊的實(shí)現(xiàn)
這篇文章主要介紹了微信小程序webview與h5通過postMessage實(shí)現(xiàn)實(shí)時(shí)通訊的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08JavaScript實(shí)現(xiàn)星級(jí)評(píng)價(jià)效果
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)星級(jí)評(píng)價(jià)效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-05-05js實(shí)現(xiàn)時(shí)間軸自動(dòng)排列效果
本文主要介紹了js實(shí)現(xiàn)新增加事件:時(shí)間軸自動(dòng)排列效果的實(shí)例,具有很好的參考價(jià)值。下面跟著小編一起來看下吧2017-03-03JavaScript實(shí)現(xiàn)復(fù)選框全選功能
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)復(fù)選框全選功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-04-04