<script type="text/javascript">
   imgar = new Array();
   imgar["1"] = new Image(960,380);
   imgar["1"].src = 'images/eightimg/eight_1.gif'; 
   imgar["2"] = new Image(960,380);
   imgar["2"].src = 'images/eightimg/eight_2.gif'; 
   imgar["3"] = new Image(960,380);
   imgar["3"].src = 'images/eightimg/eight_3.gif'; 
   imgar["4"] = new Image(960,380);
   imgar["4"].src = 'images/eightimg/eight_4.gif'; 
   imgar["5"] = new Image(960,380);
   imgar["5"].src = 'images/eightimg/eight_5.gif'; 
   imgar["6"] = new Image(960,380);
   imgar["6"].src = 'images/eightimg/eight_6.gif'; 
   imgar["7"] = new Image(960,380);
   imgar["7"].src = 'images/eightimg/eight_7.gif'; 
   imgar["8"] = new Image(960,380);
   imgar["8"].src = 'images/eightimg/eight_8.gif';
   for(i=1;i<=8;i++){
   document.write(imgar["i"].src);
   }
</script>
上面这段代码将每个imgar数组中的元素设置为一个image对象,但是无法用数组遍历的方式访问每个对象属性,运行了上面这段代码浏览器不提示错误。但是没有结果显示。

解决方案 »

  1.   

    把所有imgar["i"]的"都去掉
      

  2.   

    更糟糕的是如果这样给image对象赋值直接造成浏览器崩溃,
    var imgar = new Array();
    for(i=1;i++;i<=3){
    imgar["'img'+i"] = new Image(960,380);
    imgar["'img'+i"].src = "images/eightimg/eight_"+i+".gif"; 
    }
    alert(imgar["img1"]);
    }
    为什么呢?
      

  3.   

    for(i=1;i<=8;i++){
        document.write(imgar[i+""].src);//i是变量,不是字符串"i"
    }
      

  4.   

    var imgar = new Array();
    for(i=1;i++;i<=3){
        imgar["img"+i] = new Image(960,380);//imgar["'img'+i"] = new Image(960,380);
        imgar["img"+i].src = "images/eightimg/eight_"+i+".gif"; 
    }
    alert(imgar["img1"]);
      

  5.   

    var imgar = new Array();
        for(i=1;i++;i<=3){//i=1;i<=3;i++
            imgar["'img'+i"] = new Image(960,380);
            imgar["'img'+i"].src = "images/eightimg/eight_"+i+".gif"; 
            }
            alert(imgar["img1"]);
        }//多了
    我这里可以运行
      

  6.   

    你用什么浏览器呀,我用ie6,ie7,火狐全死翘翘了,
      

  7.   

    别急~<script>
      var imgar = [];
      for(i=0;i<8;i++){
        imgar[i] = new Image();
        imgar[i].src = "images/eightimg/eight_"+i+".gif"; 
        imgar[i].onload=function(){
          this.width = 960;
          this.height =380;
        }
      }
    window.onload=function(){
      if (!document.images){return;}
    }
    </script>
      

  8.   

    这样试试:
    var imgar = new Array();
    imgar[1] = document.createEelement("<img id='img1' src='images/eightimg/eight_1.gif' height=380 width=960 />");
    document.body.appendChild(imgar[1]);
      

  9.   

    不建议使用document.createElement("<img src='images/eightimg/eight_1.gif' height=380 width=960 />")
    这是IE中createElement的专有写法
    function load(){
    this.width = 960;
    this.height = 380;
    }for (var img, imgar = [], i = 1; i < 9; i++) {
    img = document.createElement('img');
    img.src = 'images/eightimg/eight_' + i + '.gif';
    img.onload = load;
    imgar.push(img);
    }
      

  10.   

    谢谢九楼的,问题解决了,但是imgar[i] = new Image(960,380); 和
    imgar[i] = new Image(); 
    imgar[i].onload=function(){
          this.width = 960;
          this.height =380;
        }
    区别在那里呢?
    11楼的我代码我不太懂。