没有很直接的判断方式只能定时的每个图片每个图片的去检测。不过用jQuery的话倒也不算太麻烦。<body onload="whenloaded();" ....>这个会在HTML本身加载完毕后触发,但不受图片影响。

解决方案 »

  1.   

    <html>
    <head>
    <title></title>
    <script>
    window.onload=function(){
    alert(1234);
    };
    </script>
    </head>
    <body></body>
    </html>
      

  2.   

    onload还是当DOM对象全部加在完后才之行的吧,但是不能验证图片加载是否完成
      

  3.   

    jquery有方法验证图片是否加载完成吗
      

  4.   


    jQuery本身没有,jQuery用于快捷的便利所有 img 标签。img标签对象,有一个属性,叫做:readyState,取值如下:
    uninitialized:  Object is not initialized with data. 
    loading:  Object is loading its data. 
    loaded:  Object has finished loading its data. 
    interactive:  User can interact with the object even though it is not fully loaded. 
    complete:  Object is completely initialized. 检测主要靠这个,类似于:
    counter = 0;
    $("img").each(function(){
      if (this.readyState==loaded || this.readyState==complete) counter++;
    });
    if (counter >= 10) alert("所有图片装载完毕!");另一种做法,是给所有<img>增加onload事件,在onload事件中,给计数器做累加,达到一定数量则判定为全部图片装载完毕
      

  5.   

    非常感谢,能不能提供一个比较详细的jquery手册啊,我这里就一个中文文档不是很全,你上面说的readyState属性和值都没有介绍
      

  6.   

    错了。readystate是dom对象的属性哦
      

  7.   

    http://download.csdn.net/detail/ldh911/4187933
    下载后记得评论,把1分挣回来,别浪费了。
    当然是 dom 对象属性,<img> 就是个dom对象
      

  8.   

    谢谢,还有个问题
    $(function()
    {
       $("#query").click(function()
       {
          $("#main").empty();
          this.disabled = true;
          $.post("QueryImageServlet",
          {
             keyword:$("#keyword").val(),
     picSource: $("input[name=picSource]:checked").val()
          },function(respData)
          {
             var html = "";
     var count = 0;
     for(var i=0;i<respData.length;i++) {
         html += "<img src='" + respData[i] +"' width='200px' height='200px'/>";
     };
     $("#main").append($(html));
     $("#main").show();
     $("#main img").each(function(){
        if(this.readyState == "loaded" || this.readyState == "complete")   
                   count++; 
     });
     alert(count);
     if(count == respData.length) {
        $("#query")[0].disabled = false;
     }
          });
        });
        $("#main").hide();
    });<div id="header">
         <input type="text" id="keyword" size="40"/>&nbsp;&nbsp;&nbsp;<input type="button" value="Submit" id="query">&nbsp;
         <input type="button" value="Save" width="40px" id="download"/>&nbsp;&nbsp;
         <input type="radio" name="picSource" value="google" checked><font size="5px">Google</font>&nbsp;<input type="radio" name="picSource" value="flickr"><font size="5px">Flickr</font>
      </div>
      <div id="main">
    这里一显示maindiv我就去判断img是否加载完成,此时img都是未装载完成的所有count都是0,那什么时候去判断img是否装载完成了,div未上是否也可以用onload来判断里面内容是否装载成功?
      

  9.   

    要用 window.setInterval 定时去检测下,检测完毕后要删除该定时器。div 没有 onload 事件。
      

  10.   

    是的。其实真没见过有这种需求的如果某张图片特别重要,必须显示出来,可以仅为那张图片<img>增加 onload 事件。
      

  11.   

    有办法判断图片失败也算加载完成吗 显示X也算在count中