javascript侦测DOM元素绝对位置方法
有时候,我们使用Javascript辅助CSS设计网站版面配置的时候,希望动态的抓取某个DOM元件之绝对作标(以父塬素左上角为塬点),这时候我们可以使用以下几个方法来达到目的。
纯Javascriptvar
vargetAbsPos = function(o) {
var pos = {x:0, y:0};
while (o!=null)
{
pos.x += o.offsetLeft;
pos.y += o.offsetTop;
o = o.offsetParent; //若区块外还有父元素,就继续往外推
}
return pos;
}
var POS = getAbsPos(element);
console.log("top: "+POS.y, "left: "+ POS.x);
使用jQueryvar
varPOS = $(element).offset();
console.log("top: "+POS.top , "left: "+POS.left);
使用纯Javascript,但却希望像jQuery般操作
Element.prototype.offset = function(){
var pos = {top:0,left:0};
pos.left = pos.left + this.offsetLeft;
pos.top =pos.top + this.offsetTop;return pos;
}
var POS = (element).offset();
console.log("top: "+POS.top , "left: "+POS.left);
注意:element 为特定的DOM node.例如: document.getElementById("my_id").
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
