这个问题的难易程度取决于你的对象是如何定位的,以及在文件流中的位置。
如果是想做一个类似于拼图游戏的东西,应当对所有可移动元素全部以CSS进行绝对定位,这样问题的处理要方便的多。
不知这是不是楼主想要的。
如果是想做一个类似于拼图游戏的东西,应当对所有可移动元素全部以CSS进行绝对定位,这样问题的处理要方便的多。
不知这是不是楼主想要的。
解决方案 »
- 【求助】如何实现一类类似弹框的动态效果
- mysql中datetime型值相加的问题
- 谷歌下把一段字符串传递给JS解释器
- 把一个页面自动另存为一个指定html页面,怎么样实现,我知道document.execCommand('SaveAs')命令,但他会弹出一个保存对话框
- 单选钮如何记录选择的行?
- 如何用javascrpt实现线条拖拽!急!急!!
- 请教在javascrip中除法是什么符号?
- 取一定長度的字符串(不是個數)
- IE中引用js,报错“在遇到jscript运行时错误时中断-缺少对象”
- extjs面板加载百度地图第一次失败,第二次才成功
- 那位兄弟帮忙写段代码!
- 看看这个,输入日期,看是这一年的第几天,为什么结果是NaN?
<table border=1>
<tr><td><input type=button name=b1 value=b1 onclick="bb(this)"></td><td></td>
<td><input type=button name=b2 value=b2 onclick="bb(this)"></td></tr>
<tr><td></td><td><input type=button name=b3 onclick="bb(this)" value=b3></td>
<td><input type=button name=b4 value=b4 onclick="bb(this)"></td></tr>
</table></div><input type=hidden name=h1><input type=hidden name=h2><script language=javascript>
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;
while(e=e.offsetParent)
{
T += e.offsetTop;
L += e.offsetLeft;
}
}
</script>
为什么,有什么原因是造成这种结果呢?
<script language="Javascript">
function getIE(e){
var t=e.offsetTop;
var l=e.offsetLeft;
while(e=e.offsetParent){
t+=e.offsetTop;
l+=e.offsetLeft;
}
alert("top="+t+"\nleft="+l);
}
</script>
这个函数绝对不会有问题的,你可以试试看。