var imgID = new Image();            var src = "Img.aspx?vs=" + vs + "&imgname=" + imgname + "&sid=" + Math.random();            imgID.onload = function() {
                document.getElementById("imgID").src = src;
                document.getElementById("divloadimg").style.display = "none";
            }
            imgID.src = src;
上面是用JS改变一张图片。为什么在IE6里面总是图片没有加载完就执行”document.getElementById("divloadimg").style.display = "none"“了,还有,也是在IE6里面,图片不是一下子显示出来,如果网速慢的话也是一段段显示出来的。这个问题怎么解决啊。

解决方案 »

  1.   

    imgID.onload = function() {
    document.getElementById("imgID").src = src;
    alert('x1');
    document.getElementById("divloadimg").style.display = "none";
    }这样就能看出来了,是先显示图片,后隐藏divloadimg
      

  2.   

    问题是在IE6里图片还没有显示就隐藏divloadimg了。
      

  3.   


    <script>
    function imgidload(){
    document.getElementById("imgID").style.display = "";
    document.getElementById("divloadimg").style.display = "none";
    }
    </script>
    <div id="divloadimg">无标题文档无标题文档无标题文档</div>
    <img id="imgID" style="display:none" onload='imgidload()' />
    <script>
    var imgID = new Image();var src = "http://hp.qq.com/hotpic/cdnphoto/201008/3706.jpg?" + Math.random();imgID.onload = function() {
    document.getElementById("imgID").src = src;
    //document.getElementById("divloadimg").style.display = "none";
    }
    imgID.src = src;
    </script>
      

  4.   

    img.onreadystatechange=function(){
    }
      

  5.   

    imgID.onload = function() {
                    document.getElementById("imgID").src = src;
                    setTimeout("document.getElementById('divloadimg').style.display = 'none';",100);
                }
                imgID.src = src;
    用setTimeout()延迟下,给图片加载的时间,上面设置为100毫秒,如果还是不能加载完,可以修改时间更长一点