position() jquery DOM
一 相关position定位基准建议回顾:
http://blog.csdn.net/qq_35809245/article/details/53637512
1 DOM 中获取元素定位相关属性的方法:对比记忆效果更好;
obj.style.property obj.currentStyle(attr) window.getComputedStyle(element,null)[attr]
将attr设置为 定位的 left top 等 即可。
2 jquery中获取定位元素的偏移,官方文档定义:获取匹配元素相对父元素的偏移。
返回的对象包含两个整型属性:top 和 left。
嗯,就是这么简洁。初学者需要注意,官方文档说的很模糊,我在这里详细说明一下:
二 代码:
<style>
*{
margin: 0;
padding: 0;
}
div{
border: 5px solid #000;
width: 300px;
height: 200px;
margin: 100px;
}
p{
border: 1px solid green;
width: 200px;
position: absolute;
padding: 10px;
margin: 25px;
}
</style>
<div><p id="p2">这是一个段落</p></div>
<script src="jquery-1.12.2.js"></script>
<script>
var pos = $("#p2").position();
console.log(pos);//object
console.log(pos.top);//105
console.log(pos.left);//105
</script>
定位还是按原来的走:
- 如果父元素有除了static定位以外的定位,那么就相对于父元素定性定位;
- 如果父元素没有定位,那么就相对于body定位
- 定位的基准是 :子元素整体(margin +border+padding+content)的最外边界,相对于有定位的父元素或者body的内边界。
如果给div加一个定位
position: absolute;
此时:
console.log(pos);//object
console.log(pos.top);//0
console.log(pos.left);//0