1. <html>
  2. <title>js图片未加载完显示loading效果</title>
  3. <body>
  4. <style>
  5. img{float:left;width:200px;height:200px;margin:0 10px 10px 0}
  6. </style>
  7. <script>
  8. //判断浏览器
  9. var Browser=new Object();
  10. Browser.userAgent=window.navigator.userAgent.toLowerCase();
  11. Browser.ie=/msie/.test(Browser.userAgent);
  12. Browser.Moz=/gecko/.test(Browser.userAgent);
  13.  
  14. //判断是否加载完成
  15. function Imagess(url,imgid,callback){
  16. var val=url;
  17. var img=new Image();
  18. if(Browser.ie){
  19. img.onreadystatechange =function(){
  20. if(img.readyState=="complete"||img.readyState=="loaded"){
  21. callback(img,imgid);
  22. }
  23. }
  24. }else if(Browser.Moz){
  25. img.onload=function(){
  26. if(img.complete==true){
  27. callback(img,imgid);
  28. }
  29. }
  30. }
  31. //如果因为网络或图片的原因发生异常,则显示该图片
  32. img.onerror=function(){img.src="http://www.86y.org/images/failed.png"}
  33. img.src=val;
  34. }
  35.  
  36. //显示图片
  37. function checkimg(obj,imgid){
  38. document.getElementById(imgid).style.cssText="";
  39. document.getElementById(imgid).src=obj.src;
  40. }
  41. //初始化需要显示的图片,并且指定显示的位置
  42. window.onload=function(){
  43. var imglist=document.getElementById("imagelist").getElementsByTagName('img');
  44. for(i=0;i<imglist.length;i++)
  45. {
  46.   imglist[i].id="img0"+i;
  47.   //imglist[i].src="http://www.86y.org/images/loading.gif";
  48.   imglist[i].style.cssText="background:url(http://www.86y.org/images/loading.gif) no-repeat center center;"
  49.   Imagess(imglist[i].getAttribute("data"),imglist[i].id,checkimg);
  50. }
  51. }
  52. </script>
  53. <div id="imagelist">
  54.   <img data="http://www.smashingapps.com/wp-content/uploads/2013/05/uikitsforwebmobile17s.jpg" />
  55.   <img data="http://www.smashingapps.com/wp-content/uploads/2013/05/uikitsforwebmobile13.jpg" />
  56.   <img data="http://www.smashingapps.com/wp-content/uploads/2013/05/uikitsforwebmobile39.jpg" />
  57.   <img data="http://www.smashingapps.com/wp-content/uploads/2013/05/uikitsforwebmobile10.jpg" />
  58.   <img data="http://www.smashingapps.com/wp-content/uploads/2013/05/uikitsforwebmobile14.jpg" />
  59. </div>
  60. </body>
  61. </html>

js图片未加载完显示loading效果的更多相关文章

  1. 在页面未加载完之前显示loading动画

    在页面未加载完之前显示loading动画 这里有很多比这篇博客还优秀的loading动画源码 我还参考这篇博客 loading动画代码demo 我的demo预览 <!DOCTYPE html&g ...

  2. lufylegend:图片的加载和显示

    <!DOCTYPE HTML> <html> <head> <meta charset="utf-8" /> <script ...

  3. js图片实时加载

    浏览大型网站,特别是图片比较多的图片,如大型的电商网站,你会发现处了第一屏外,往下滚动的时候图片才加载出来,没必要一开始加载就要把全部图片加载出来,这样子打开网面的速度得到了很好提高.以下是笔者目前所 ...

  4. Selenium截屏 图片未加载的问题解决--【懒加载】

    需求: 截屏后转PDF. 问题: selenium截屏后,图片未加载 如下图: 原因: 网站使用了懒加载技术:只有在浏览器中纵向滚动条滚动到指定的位置时,页面的元素才会被动态加载. 什么是图片懒加载? ...

  5. JQuery_图片未加载!

    JQuery_图片未加载! <html> <head> <script type="text/javascript" src="/jquer ...

  6. 解决Vue刷新一瞬间出现样式未加载完或者出现Vue代码问题

    解决Vue刷新一瞬间出现样式未加载完或者出现Vue代码问题: <style> [v-cloak]{ display: none; } </style> <div id=& ...

  7. css实现图片未加载完成时占位显示

    通过css控制,可以实现加载网络图片时,未加载完成的时候显示本地一张占位图,加载完成后显示网络图片: 原理:通过在img标签的after伪元素上添加一张占位图,并且img都设置为position:re ...

  8. JS实现页面加载完毕之前loading提示效果

    1.获取浏览器页面可见高度和宽度 var _PageHeight = document.documentElement.clientHeight, _PageWidth = document.docu ...

  9. JS图片预加载插件

    在开发H5项目中有时候会遇到要加载大量图片的情况,利用预加载技术可以提高用户浏览时的体验. 1)概念:懒加载也叫延迟加载:JS图片延迟加载,延迟加载图片或符合某些条件时才加载某些图片.预加载:提前加载 ...

随机推荐

  1. android 焦点问题

    今天解决了一个Android平台下的焦点问题.发现其中关键问题的所在是Android的touchMode.从JavaSwing平台过来的人,都会关注setFocusable()和requestFocu ...

  2. JS调用OC方法

    - (void)myMethod:(CDVInvokedUrlCommand*)command { NSString* echo = [command.arguments objectAtIndex: ...

  3. zabbix metrics

    http://blog.csdn.net/hengyunabc/article/details/44072285

  4. code.google.com

    https://github.com/couchbase/sync_gateway/issues/492 This list shows the current base import paths, ...

  5. redis - java 基本操作

    import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; im ...

  6. git 查看当前与上一次version的差异

    http://stackoverflow.com/questions/9903541/finding-diff-between-current-and-last-versions up vote47d ...

  7. redis采用序列化方案存对象

    前几天被问到这样一个问题,redis怎么存对象,平时也没怎么注意,只知道redis存字符之类的,不过就是根据键存取值,不过对象的话还是不同的 首先来了解一下为什么要实现序列化 为什么要实现序列化接口 ...

  8. perfect-scrollbar示例

    <!DOCTYPE html> <html> <head> <title>perfect-scrollbar - www.97zzw.com -97站长 ...

  9. Anton and School

    Anton and School time limit per test 2 seconds memory limit per test 256 megabytes input standard in ...

  10. RING0,RING1,RING2,RING3

    Intel的CPU将特权级别分为4个级别:RING0,RING1,RING2,RING3.Windows只使用其中的两个级别RING0和RING3,RING0只给操作系统用,RING3谁都能用.如果普 ...