js 如何动态改变div的位置

在一个div中动态创建一个div,要取得这个div相对于父窗口的位置,我开始以为appendChild就是子div,取得这个子对象就是我想要的位置,但是不是这样的,它的位置还是相对document的。所以我做了一个实验:通过取得子窗口的位置减去父窗口的位置就可以了。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML>
<HEAD>
<title> New Document </title>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
  <meta name="Generator" content="EditPlus">
  <meta name="Author" content="">
  <meta name="Keywords" content="">
  <meta name="Description" content="">
<SCRIPT>
 function fun(){
  //alert(father.offsetTop);
  //alert(father.offsetLeft)
  fa.value=father.offsetTop+"--"+father.offsetLeft;
  var divChild = document.createElement("Div");
  divChild.id="divChild";
  divChild.style.width="20px";
  divChild.style.left="160px";//因为offsetLeft是只读属性所以要通过left属性设置。而且还要设置绝对定位。
  divChild.style.top="180px";//

  divChild.style.height="20px";//
  divChild.style.position="absolute";
  divChild.style.background="#ddd";
  father.appendChild(divChild);
  ch.value=(parseInt(divChild.offsetTop)-parseInt(father.offsetTop))+"--"+(parseInt(divChild.offsetLeft)-parseInt(father.offsetLeft));
  
 }
</SCRIPT>

</HEAD>

<BODY >
<br /><br /><br />

父坐标:<input type="text" id="fa" value="" />
子坐标:<input type="text" id="ch" value="" />

<input type="button" value="add" οnclick="fun()"/>
<div id="father" style="width:300px;height:300px;background:#888"></div>
<BODY>
</HTML>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值