parentNode    直接父级//和offsetParent不同

inner2.parentNode
<!DOCTYPE html>
<html id="html">
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
#inner2{
position: absolute;
}
#wrap{
position: relative;
}
</style>
</head>
<body id="body">
<div id="wrap">wrap
<div id="inner1">inner1
<div id="inner2">inner2</div>
</div>
</div>
</body>
<script type="text/javascript">
//hmtl css js
window.onload=function(){
//parentNode 直接父级
var inner2 = document.querySelector("#inner2");
console.log(inner2.parentNode.id);
} </script>
</html>

offsetParent

a.有点类型于css中包含块(css中的概念)的概念
b.offsetLeft 和 offsetTop都是参照于offsetParent的内边距边界
c.规则(html和body之间的margin被清除)

本身定位为fiexd,不管你父级有没有定位

存在兼容性问题
火狐的offsetParent --> body


非火狐offsetParent --> null

<!DOCTYPE html>
<html id="html">
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
#wrap{position: absolute;}
#inner1{position: fixed;}
#inner2{position: relative;}
#inner3{position: fixed;} </style>
</head>
<body id="body">
<div id="wrap">wrap
<div id="inner1">inner1
<div id="inner2">inner2
<div id="inner3"></div>
</div>
</div>
</div>
</body>
<script type="text/javascript">
/*
ev||event
鼠标滚轮
事件绑定
offsetParent
1.父级是否有定位(4种)
2.本身是否有定位(4种)
3.浏览器不一样(5大pc浏览器+老祖宗(ie 6 7 8)) 4*4*8 = 128 本身定位为fixed
==> offsetParent:null(不是火狐)
==> offsetParent:body(火狐) 本身定位不为fixed
父级没有定位
==> offsetParent:body
父级有定位
==> offsetParent:定位父级
*/ window.onload=function(){
console.log(inner3.offsetParent)
}
</script>
</html>

测试代码

非fixed
父级没有定位
offsetParent --> body
父级有定位
offsetParent --> 定位父级

fixed 不管你有没有定位都根据body

    <meta charset="UTF-8">
<title></title>
<style type="text/css">
#wrap{position: absolute;}
#inner1{position: fixed;}
#inner2{position: relative;}
#inner3{position: fixed;} </style>
</head>
<body id="body">
<div id="wrap">wrap
<div id="inner1">inner1
<div id="inner2">inner2
<div id="inner3"></div>
</div>
</div>
</div>
</body>
<script type="text/javascript">
/*
ev||event
鼠标滚轮
事件绑定
offsetParent
1.父级是否有定位(4种)
2.本身是否有定位(4种)
3.浏览器不一样(5大pc浏览器+老祖宗(ie 6 7 8)) 4*4*8 = 128 本身定位为fixed
==> offsetParent:null(不是火狐)
==> offsetParent:body(火狐) 本身定位不为fixed
父级没有定位
==> offsetParent:body
父级有定位
==> offsetParent:定位父级
*/ window.onload=function(){
console.log(inner3.offsetParent)
}
</script>
</html>
<!DOCTYPE html>
<html id="html">
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css"> html,body{
height: %;
overflow: hidden;
} #wrap{position: absolute;background: pink;left: 100px;top: 50px;}
#inner1{position: fixed;background: deeppink;left: 50px;top: 150px;}
#inner2{position: relative;background: hotpink;left: 80px;top: 70px;}
#inner3{position: fixed;background: yellow;left: 60px;top: 30px;}
div{
width: 200px;
height: 200px;
padding: 50px;
border: 10px solid;
}
</style>
</head>
<body id="body">
<div id="wrap">wrap
<div id="inner1">inner1
<div id="inner2">inner2
<div id="inner3">inner3</div>
</div>
</div>
</div>
</body>
<script type="text/javascript">
/*
*
ev||event
鼠标滚轮
事件绑定
offsetParent
1.父级是否有定位(4种)
2.本身是否有定位(4种)
3.浏览器不一样(5大pc浏览器+老祖宗(ie 6 7 8)) 4*4*8 = 128 本身定位为fixed
==> offsetParent:null(不是火狐)
offsetTop和offsetLeft也是参照于body的
==> offsetParent:body(火狐) 本身定位不为fixed
父级没有定位
==> offsetParent:body
父级有定位
==> offsetParent:定位父级
*/ window.onload=function(){
console.log(inner3.offsetTop,inner3.offsetLeft)
}
</script>
</html>

最新文章

  1. zepto弹出层组件
  2. Matlab &amp;&amp; C-Mex Round 1
  3. spark-sql性能测试
  4. Apache常用配置项
  5. Avada主题通过自定义CSS全局更换微软雅黑字体
  6. Ibatis学习总结5--动态 Mapped Statement
  7. Laxcus大数据管理系统2.0(11)- 第九章 容错
  8. nicehair
  9. c#实现数据集合转换为csv文本
  10. Applied Functional Analysis(Applications to Mathematical Physics ) E.Zeidler
  11. Swift互用性:采用Cocoa设计模式(Swift 2.0版)-b
  12. MySQL查看当前连接数、连接数和最大连接数
  13. javascript - Show mouse cursor in phantom.js - Stack Overflow
  14. Jquery的一些简单使用记录
  15. TextBox控件只允许输入出生日期,并验证年龄不得小于18岁
  16. FZU 2144 Shooting Game(数学+贪心)
  17. getRequestURI()与getRequestURL()的区别
  18. Ajax中,执行成功却依然刷新本页面
  19. 第27月第17天 objc_msgSendSuper
  20. C++的重载操作符(operator)介绍(转)

热门文章

  1. 计算机基础、python历史,环境,分类,安装
  2. 2014 ACM-ICPC Vietnam National First Round
  3. GetModuleHandleW 分析
  4. dubbo源码学习(二) : spring 自定义标签
  5. cocos构建的android项目的返回键相应
  6. Codeforces 1140E DP
  7. ES6模块化使用遇到的问题
  8. Tools: python 安装
  9. centos做免密登录
  10. 区别 |mysql |Timestamp、time、datetime