ele.offsetParent返回的是ele元素最近的并且是定位过(relative,absolute)的父元素,如果没有父元素或者是父元素中没有一个是定位过的,返回值就是body元素
ele.offsetLeft和ele.offsetTop取值问题,分多种情况:
从上面可以看出offsetLeft、offsetTop返回的值就是ele到offsetParent的距离,这个offsetParent是什么元素要看ele的父元素有没有进行定位(relative、absolute)
应用:
在要获取元素距离网页左侧距离的时候就要考虑offsetParent的定位问题,不能简单的用ele.offsetLeft/Top获取,必须通过循环累加的方式才能获得正确值(chrome的结果和IE、Firefox不一样,相差1px,原因是chrome没有把边框计算进去),下面是代码
(Tips:代码中的this.left、this.top可以用arguments.callee代替,但根据ECMAScript 5规范不建议使用,strict model下已经被禁用,因为arguments是一个比较庞大的对象,非常耗资源)
var getOffset = { left:function(obj){ return obj.offsetLeft + (obj.offsetParent ? this.left(obj.offsetParent) : 0); }, top:function(){ return obj.offsetTop + (obj.offsetParent ? this.top(obj.offsetParent) : 0); } }
到此这篇关于offsetleft、offsetTop和offsetParent的文章就介绍到这了,更多相关offsetleft、offsetTop和offsetParent内容请搜索站长技术以前的文章或继续浏览下面的相关文章希望大家以后多多支持站长技术!
多年来,Google对Chromium进行了许多更改,包括将URL协议隐藏在地址栏中。根据谷...
问题一: 使用Windows记事本的“另存为”,可以在GBK、Unicode、Unicode big end...
本地开发完成后,通常会在服务器上部署,有人会使用ftp,有人会使用scp, ftp和s...
千万级大表如何优化,这是一个很有技术含量的问题,通常我们的直觉思维都会跳转...
Windows10已经发布好一段时间了,在今年下半年还将会迎来21H2的大更新。当前,很...
源码简介 ThreadPoolExecutor是JDK中的线程池实现这个类实现了一个线程池需要的...
什么是Mybaits? Mybaits 半自动orm持久层框架,免除了几乎所有的 JDBC 代码以及设...
Pytorch学习:TORCH.NN文档翻译 仅供个人学习使用参考总结了一些文档在下面内容中...
一.简单介绍JSP隐含对象response实现文件下载 (1)在JSP中实现文件下载最简单的...
什么是多租户 网上有好多解释,有些上升到了架构设计,让你觉得似乎非常高深莫测...