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

Javascript
javascript 汉字与拼音转换
JavaScript使用cookie
大平洋汽车网左侧菜单
使用JS操作页面表格,元素的一些技巧
分享我学习js的过程 作者aircy javascript学习教程
张孝祥JavaScript学习阶段性总结(2)--(X)HTML学习
用js来生成随机彩票号码清单
发一个数据过滤的代码,很简单,有用的着的拿去
如何在标题栏显示框架内页面的标题
js滚动条多种样式,推荐
再次更新!MSClass (Class Of Marquee Scroll通用不间断滚动JS封装类 Ver 1.6)
符合web标准的连续滚动图像的js代码
使用iframe作为日历的载体,不再被select和flash等控件挡住的日期输入框
通过脚本控制指定内容不能被选择
模拟弹出窗口效果,关闭层之前,不能选择后面的页内容
另类弹出窗口,跳过所有拦截工具
使用prototype.js进行异步操作
JS模拟多线程
动态增加/删除文件域
[分享]一个非常漂亮的进度滚动条

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-02-27   浏览: 347 ::
收藏到网摘: 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>
行了就是这么多了,有问题留言