在一个table中有许多td每个td大小限定为256*256,每个td里面放一张256*256的IMG是没有问题的
现在我要想在多张透明图片叠加在上面,如果不使用绝对定位td将会被撑大
如果用绝对定位,它的坐标是相对table的,而不是相对td的,那我必须计算每个img
的top和left值,那样太麻烦。
请教各位有没有更好的办法???????????????
现在我要想在多张透明图片叠加在上面,如果不使用绝对定位td将会被撑大
如果用绝对定位,它的坐标是相对table的,而不是相对td的,那我必须计算每个img
的top和left值,那样太麻烦。
请教各位有没有更好的办法???????????????
this.addImage=function(level, lineNo, rowNo,htmlTag)//级数,列号,行号,td对象
{
if((rowNo*1<0)||(rowNo*1>=RowImgNo)||(lineNo*1<0)||(lineNo*1>=RowImgNo))
{
htmlTag.innerHTML="<IMG id='none' src='"+o.mapout+"' width='"+o.imgSize+"' height='"+o.imgSize+"'>";
}
else if(!window.Img_obj[htmlTag.id])
{
var id = rowNo+"&"+lineNo+"&"+parseInt(level+1);
var levelF = level +1;
htmlTag.innerHTML="<IMG id='"+id+"' src='http://192.168.83.172/tu/img"+levelF+"/Row"+rowNo+"/"+rowNo+"_"+lineNo+o.picExt+"' width='"+o.imgSize+"' height='"+o.imgSize+"' onload='sav_RAM(this,\""+htmlTag.id+"\");' >";
//htmlTag.innerHTML="<IMG id='"+id+"' src='"+imageUrl+"/img"+levelF+"/Row"+rowNo+"/"+rowNo+"_"+lineNo+window.picExt+"' width='"+window.imgSize+"' height='"+window.imgSize+"' onload='sav_RAM(this,\""+htmlTag.id+"\");' >";
//tempImg += ""+rowNo+"_"+lineNo+"/";
}
else
htmlTag.appendChild(window.Img_obj[htmlTag.id]);
}就是要叠加多张图!
给你一个函数,根据对象取得该对象的位置:
//如果你要使用,则参数obj为你的td对象
function YJgetPosition(obj){
var ar=new Array();
var t=obj.offsetTop;
var l=obj.offsetLeft;
while(obj.offsetParent){
obj=obj.offsetParent
t+=obj.offsetTop;
l+=obj.offsetLeft;
}
ar[0]=l;
ar[1]=t;
return ar;
}然后你再根据取得的td位置定位图片位置