how did you define "coordinateData"? there is no problem with this code at all:coordinate_X=new Array(1934);
coordinateData = new Array();
coordinateData[4]=coordinate_X;

解决方案 »

  1.   

    coordinateHotel_X=new Array(1936,1286,1304,1599,1730,1773)
    coordinateHotel_Y=new Array(1593,1419,1454,606,1047,1347)

    coordinateTravelAgency_X=new Array(1934)
    coordinateTravelAgency_Y=new Array(1013)

    coordinateOrgan_X=new Array(1709,1738,1740,1952,1634,704)
    coordinateOrgan_Y=new Array(1333,934,1263,1045,909,1965)
    coordinateData=new Array()
    coordinateData[0]=coordinateHotel_X
    coordinateData[1]=coordinateHotel_Y

    coordinateData[2]=coordinateTravelAgency_X
    coordinateData[3]=coordinateTravelAgency_Y

    coordinateData[4]=coordinateOrgan_X
    coordinateData[5]=coordinateOrgan_Y我用下面的函数调用数组
    function setTargetInCenter() { 
      var k=parent.leftFrame.document.frmHandle.sltClass.selectedIndex;
      var i=parent.leftFrame.document.frmHandle.sltSearchInfo.selectedIndex;
      var j=2*(k-1);
      var distanceX=coordinateData[j][i];    
      var distanceY=coordinateData[j+1][i];    
      //下面两行代码可以使图片放大后目标的坐标仍然不变
      var pointX=distanceX*(parent.mainFrame.document.showImage.width/2490);   //2490为图片对象的初始宽度(地图的初始尺寸为2490*2543)
      var pointY=distanceY*(parent.mainFrame.document.showImage.height/2543);  //2543为图片对象的初始高度
      //-----------------------------------------------------------------------------------------------------------------------------
      var obj=parent.mainFrame.document.all.showArea.style;
      obj.left=parseInt(parent.mainFrame.document.body.clientWidth/2)-parseInt  (pointX);(信息显示是这一行出错,但只是在调用coordinateTravelAgency_X=new Array(1934)和coordinateTravelAgency_Y=new Array(1013)时出错,其他正常)
      obj.top=parseInt(parent.mainFrame.document.body.clientHeight/2)-parseInt(pointY);
      limitObjRange();  //限制图片的活动范围,使其不超出显示区的显示范围
    }
      

  2.   

    下面为一维数组,长度为6,数值分别为1936,1286,1304,1599,1730,1773:
    coordinateHotel_X=new Array(1936,1286,1304,1599,1730,1773)下面为一维数组,长度为1934,数值分别为undefined:
    coordinateTravelAgency_X=new Array(1934)coordinateData[2][0]的值为undefined,而不是1934