大虾帮忙看看,
我修改的,我有两个问题:
1,为什么div0不是div1的offsetParent,tr1不是td11的offsetParent,而table90是table的offsetParent
2,怎么获得控件在网页和屏幕上的实际位置??谢谢!
<html>
<body id=body1>
<div id=div0 alt='div0'>vbcvbvvvc<div id=div1 alt='div1'>
<table border=1 id=table9> <tr id=tr90><td id=td90>table9
<table border=1 id=table0>
<tr id=tr0><td id=td00><input type=button name=b1 id=input1 value=b1 onclick="bb(this)"></td><td id=td01></td>
<td id=td02><input type=button name=b2 id=input2 value=b2 onclick="bb(this)"></td><td id=td03><input type=button name=b5 id=input5 value=b5 onclick="bb(this)"></td></tr>
<tr id=tr1><td id=td10></td><td id=td11><input type=button id=input3 name=b3 onclick="bb(this)" value=b3></td>
<td id=td12><input type=button name=b4 id=input4 value=b4 onclick="bb(this)"></td><td id=td13><input type=button name=b6 id=input6 value=b6 onclick="bb(this)"></td></tr>
</table>
</td></tr>
</table></div></div>
<input type=hidden name=h1 id=h1><input type=hidden name=h2 id=h2>
<script language=javascript id=js1>
var T,L;
function bb(tt) //将你所要比较的两个控件名放到两个隐藏框里
{
var a1 = document.all.h1.value;
var a2 = document.all.h2.value;
if(a1 != "" && a2 != ""){alert("你已经选择了两个控件!");return;};
if(a1=="") document.all.h1.value = tt.name;
else {document.all.h2.value = tt.name; cc();}
//alert("1."+document.all.h1.value+" 2."+document.all.h2.value);
}
function cc()
{
var a1 = document.all.h1.value;
var a2 = document.all.h2.value;
if(a1 == "" && a2 == ""){alert("你没有选足两个控件");return;}
var e1 = eval("document.all."+a1)
getIE(e1) //得到第一个控件的位置
var x1 = L; var y1 = T;
var e2 = eval("document.all."+a2)
getIE(e2) //得到第二个控件的位置
var x2 = L; var y2 = T;
document.all.h1.value = "";
document.all.h2.value = "";
var s1,s2;
if (x1 > x2) s1 = "控件 "+e1.name+" 在控件 "+e2.name+" 的 右 边";
if (x1 < x2) s1 = "控件 "+e1.name+" 在控件 "+e2.name+" 的 左 边";
if (x1 == x2) s1 = "控件 "+e1.name+" 与控件 "+e2.name+" 的左边是相等的";
if (y1 > y2) s2 = "控件 "+e1.name+" 在控件 "+e2.name+" 的 下 边";
if (y1 < y2) s2 = "控件 "+e1.name+" 在控件 "+e2.name+" 的 上 边";
if (y1 == y2) s2 = "控件 "+e1.name+" 与控件 "+e2.name+" 是一样高的";
alert(s1+"\r\n"+s2);
}
function getIE(e) //得到控件在网页里的位置
{
T = e.offsetTop;
L = e.offsetLeft;
s1="";
s1+=(e.id+"\r\n"+"相对高度"+T+" "+"相对左边距"+L+"\r\n");
i=0;
s1+=e.id+"的offsetParentr是";
while(e=e.offsetParent)
{
s1+=e.id+"\r\n\n";
T += e.offsetTop;
L += e.offsetLeft;
s1+=(e.id+"\r\n"+"相对高度"+e.offsetTop+" 相对左边距"+e.offsetLeft+"\r\n"+"高度位置"+T+" "+"左边距位置"+L);
i++;
s1+="\r\n"+e.id+"的offsetParentr是";
}
s1+=("i="+i);
alert(s1);
}
</script>
<body>
</html>