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;
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(); //限制图片的活动范围,使其不超出显示区的显示范围 }
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(); //限制图片的活动范围,使其不超出显示区的显示范围
}
coordinateHotel_X=new Array(1936,1286,1304,1599,1730,1773)下面为一维数组,长度为1934,数值分别为undefined:
coordinateTravelAgency_X=new Array(1934)coordinateData[2][0]的值为undefined,而不是1934