例如:
复制代码 代码如下:
<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>
行了就是这么多了,有问题留言
您可能感兴趣的文章:
- 网页加载时页面显示进度条加载完成之后显示网页内容
- 用js判断页面是否加载完成实现代码
- js动态加载以及确定加载完成的代码
- JS对外部文件的加载及对IFRMAME的加载的实现,当加载完成后,指定指向方法(方法回调)
- jquery加载页面的方法(页面加载完成就执行)
- js focus不起作用的解决方法(主要是因为dom元素是否加载完成)
- js下判断 iframe 是否加载完成的完美方法
- Javascript 判断Flash是否加载完成的代码
- 判断iframe是否加载完成的完美方法
- js或者jquery判断图片是否加载完成实现代码