你看看是不是你alert的时候,img还没有加载呢,把script写在整个文档的最后面,确认都img标签都被加载之后,再操作js或者写在onload事件之内。
window.onload = function(){
var a = document.images.length;
alert(a);
}

解决方案 »

  1.   

    对了 试了几次  终于找到了  还这是img没有加载的原因。
    但是加载一个图片可以用img src="xxx.xxx"
    但是如果一次性需要加载几十个甚至上百个图片时候怎么办呢?但是只显示第一张图片
    比方说将一个.gif拆分成上百个帧图 然后通过setInterval(way,xxx);定时调用每个图片
      

  2.   

    @zyl_lyr1019
    对了 试了几次  终于找到了  还这是img没有加载的原因。
     但是加载一个图片可以用img src="xxx.xxx"
    但是如果一次性需要加载几十个甚至上百个图片时候怎么办呢?但是只显示第一张图片
     比方说将一个.gif拆分成上百个帧图 然后通过setInterval(way,xxx);定时调用每个图片
      

  3.   

    不是太明白把你的意思,你是说按时更新图片?还是说要做成像很多网站上的那种,循环播放的图片库?如果只是更改图片的链接的话,就直接obj.src = "";更改就行了,不过这样可能会有个问题就是,如果你的网速不好,那么也许图片还没有加载完,就会继续更新下一张了,所以这个你要自己考虑一下怎么解决。
      

  4.   

    @zyl_lyr1019
    我用了以下的方法类似时钟,循环显示0-149的图片,alert(document.images.length)的时候还是1,
    是不是我需要在前面var img=new Image();的时候要实例化所有的图片?
    比如:
    img0.src="0.jpg";
    img1.src="1.jpg";
    img2.src="2.jpg";
    img3.src="3.jpg";
    ...
    img149.src="149.jpg";
    这样在最后的document.images.length的时候才会是150?
    <!doctype html>
    <html>
    <head>
    <title></title>
    <meta charset="utf-8" />
    </head>
    <body onload="start()">
    <img src="" name="im"/>
    <script>
    var imgsrc;
    var i = 0, gw = 0, sw = 0, bw = 0;
    function start() {
    window.setInterval(a, 100);
    }
    function a() {
    imgsrc = "IMG00" + bw + "" + sw + "" + gw + ".bmp";
    gw++;
    if (gw >= 9) {
    gw = 0;
    sw++;
    if (sw >= 9) {
    sw = 0;
    bw++;
    }
    }
    if(bw+""+ sw+""+gw =="150"){
    gw = 0, sw = 0, bw = 0;
    }
    document.images.im.src = imgsrc;
    }
    </script>
    </body>
    </html>
      

  5.   

    我晕啊,你不知道这个document.images是代表文档中的img标签的个数,你这个文档中,就只有一个img标签,你还想要显示几个啊?如果你是想要把所有的img标签都加上,让img标签的个数是150个的话,就直接在hmtl里面,都添加上就行了,不需要用js去添加了吧。更改的时候,就把对应的img标签显示出来,把其他的隐藏。要么就用一个img标签,改动img的src就行了。
    你上面的这样的写法,是不能改变吗?
    那你检查一下是不是有其他的语法错误的。
      

  6.   

    @zyl_lyr1019
    这么说如果要用document.images这个方法
    就要在body中添加多个img元素 然后默认属性定义为隐藏 然后再js中分别调用显示方法么