例如: 复制代码 代码如下: <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> 行了就是这么多了,有问题留言
推荐阅读
JavaScript CSS修改学习第五章 给“上传”添加样式
问题 在一个网站中可能我的输入框式下面这样的: 设计者可能想让上传部分也像这样然后再添加一个select按钮。但是当我想把普通的输入框改为上传框时就根本不能工作。浏览器之间有很大的不同,给默认按钮添加样式也>>>详细阅读
本文标题:判断控件是否已加载完成的代码
地址:http://www.17bianji.com/kaifa2/JS/27016.html
1/2 1