IE,firefox之offsetParent

今天被offsetParent难倒了一下午,总算是搞定了。

下面这句话很好的概括了offsetParent的作用

当某个元素的父元素进行了CSS定位时(absolute或者relative),则这个元素的offsetParent属性的取值为其父元素。更确切地说,这个元素的各种偏移量计算(offsetTop、offsetLeft等)的参照物为其父元素。

  当只有某个元素进行了CSS定位,其父元素及其DOM结构层次上都未进行CSS定位时,则这个元素的offsetParent属性的取值为HTMLBODYElement。更确切地说,这个元素的各种偏移量计算(offsetTop、offsetLeft等)的参照物为Body元素。

也就是说它不像parentNode一样会取节点上面所有的父节点,例如a节点,只有其父节点b进行了CSS定位的时候,我们用a.offsetParent才能得到b。否则是得不到的。

废话少说,直接看代码.

html


javascript



在这里因为IE和firefox对offsetParent的处理是不一样的,所以我在firefox中总是没办法完全拿到那四个父节点,所以我直接用parentNode来得到它们所有的父节点,当我拿到laout的时候,用e!=target判断一下,跳出这个循环。   因为我这里只是为了拿到自己想要的值,所以没有让其一直往上获取父节点

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值