当前位置: 首页 > news >正文

中小学学校网站建设免费建站系统官网

中小学学校网站建设,免费建站系统官网,南通做网站公司,使用js做网站性能测试网上对offsetParent和parentNode差异的解释都是同一篇文章千篇一律,讲的不是很清楚。offsetParent用的最普遍的就是来计算元素在页面中的位置,我们通过 getBoundingClientRect()方法来获取页面中元素的位置,不过这只支持最新的浏览器&#xf…

网上对offsetParent和parentNode差异的解释都是同一篇文章千篇一律,讲的不是很清楚。

offsetParent用的最普遍的就是来计算元素在页面中的位置,我们通过 getBoundingClientRect()方法来获取页面中元素的位置,不过这只支持最新的浏览器,如果要兼容像Opera9.2和Firefox2以及Safair任何版本,都只能通过offsetParent该属性来循环获计算获得元素的位置,只是效率没getBoundingClientRect()好。贴一段缩减了来自YUI里的代码: 

ExpandedBlockStart.gif
function getElementXY(el){ //el 要获取位置的元素对象
    var pos = [el.offsetLeft, el.offsetTop]; //首先获得该元素相对第一个非流布局父元素的位置
    var parentNode = el.offsetParent; //获得该元素的第一个非流布局父元素
    if (parentNode != el) { 
        
while (parentNode) { 
            pos[
0+= parentNode.offsetLeft; 
            pos[
1+= parentNode.offsetTop;
            parentNode 
= parentNode.offsetParent; //循环定义非流布局父元素
        }
    }
}

MSDN解释offsetParent在大多时候返回的是Body,其实是返回第一个非流布局的父级元素, 也就是postion的值是 absolute,relative,fixed,(inherit 继承父元素也是前三者)其中之一,当然如果父级元素都是流布局最后返回的肯定是Body,由此可见offsetParent本身在获取的时候要通过页面不 断查找父元素,尤其在代码多层嵌套的时候,需要向上查找未知的层次,直到获取到第一个非流布局元素。

offsetLeft和offsetTop分别返回相对offsetParent的位置,也就是返回相对第一个非流布局父级元素的位置。

上面的代码可以看出这个方法是通过不断循环获得相对非流布局父元素的位置相加来最后计算得到要获取的位置。

IE7对offsetParent解释有个BUG,貌似始终返回父元素。

parentNode就不用解释了,父节点。

 

转载于:https://www.cnblogs.com/purplefox2008/archive/2010/09/08/1821443.html

http://www.lbrq.cn/news/2590597.html

相关文章:

  • 网站编程培训机构网站建设的方法有哪些
  • b2c网站提供的服务有哪些成都网站seo外包
  • 四川网站设计首选柚米科技百度电脑版下载
  • 宜章网站建设手机游戏性能优化软件
  • wordpress4.8.1https德兴网站seo
  • 品牌营销策划书模板seo排名大概多少钱
  • wordpress首页调用评论专业seo培训学校
  • 移动网站趋势武威网站seo
  • 网站建设推广公司哪家权威软文网站有哪些
  • 深圳宝安做网站如何搜索关键词
  • 网站模板定制seo快速培训
  • 营销网站推广策略百度网盘网页版登录入口官网
  • 焦作建设网站哪家好百度电商推广
  • 盐城哪家专业做网站深圳百度推广客服
  • 用layui做的网站长沙推广公司
  • 做网站卖别人的软件可以吗关键词优化的五个步骤
  • 西安网站策划公司seo月薪
  • wordpress做商城网站免费发布推广的平台有哪些
  • web网站开发的流程天津seo外包
  • 东莞网站制作有名 乐云践新互联网推广是做什么的
  • 浙江网站建设模板网站广告推广软件
  • 深圳营销型网站建设怎么注册电商平台
  • 做旅游网站选什么空间网站维护推广的方案
  • 设计相关的网站百度知道官网
  • 企业网站如何提高成都百度推广代理公司
  • wordpress企业站实操昆明seocn整站优化
  • php完整网站开发源码关键词优化排名首页
  • 卖酒的网站做线下怎么做超级软文网
  • 新疆建设厅网站官网搜索引擎营销sem包括
  • 深圳南山网站开发华为手机业务最新消息
  • Bean的生命周期和循环依赖问题的解决
  • 抛出自定义异常
  • Navicat连接远程服务器上的mysql
  • 用 JavaSwing 开发经典横版射击游戏:从 0 到 1 实现简易 Contra-like 游戏
  • 知识蒸馏 - 基于KL散度的知识蒸馏 HelloWorld 示例
  • Qt 槽函数被执行多次,并且使用Qt::UniqueConnection无效【已解决】