当前位置: 首页 > 图文教程 > 网络编程 > Javascript > 判断控件是否已加载完成的代码

Javascript
javascript innerText和innerHtml应用
图像替换新技术 状态域方法
JavaScript 判断判断某个对象是Object还是一个Array
Extjs 几个方法的讨论
JavaScript 学习笔记(十五)
javascript 匿名函数的理解(透彻版)
Jquery 常用方法经典总结
jquery 批量上传图片实现代码
javascript中的array数组使用技巧
详细讲解JS节点知识
javascript让setInteval里的函数参数中的this指向特定的对象
javaScript 关闭浏览器 (不弹出提示框)
对字符串进行HTML编码和解码的JavaScript函数
javascript 三种编解码方式
js左侧多级菜单动态的解决方案
JavaScript 学习笔记(十六) js事件
JavaScript面向对象之静态与非静态类
javascript两段代码,两个小技巧
js中鼠标滚轮事件详解(firefox多浏览器)
js实现的仿Photoshop鼠标滚轮控制输入框取值(修正兼容Chrome)

Javascript 中的 判断控件是否已加载完成的代码


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-02-27   浏览: 226 ::
收藏到网摘: n/a

判断一个控件是否已加载完成其实很简单,就是利用浏览器的解析顺序。通俗的说,代码的位置越靠前,就越先加载。 例如:
复制代码 代码如下:

<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>
行了就是这么多了,有问题留言