• QQ咨詢:4001806960
  • 咨詢熱線:400-180-6960

jQuery裏的offset方法是怎麽實現的(獲得網頁元素到浏覽器左上角的絕對位置)

作者:日期:2012-12-25 11:29:46 點擊:369

 //獲取某元素距離浏覽器的絕對位置

//對應講解視頻:http://online.zhufengpeixun.cn/viewer.do?courseId=211266
function getPosition (ele,oRefer){//oRefer是定位參照物。可以不寫,不寫就是和浏覽器的絕對位置
//注意:oRefer必須是ele的offset祖先,要不然取到的值是ele距離body的絕對偏移量
oRefer=oRefer||document.body;
var x=ele.offsetLeft;
var y=ele.offsetTop;
p=ele.offsetParent;//重在理解好offsetParent
while(p!=oRefer&&p!=document.body){
 
if(window.navigator.userAgent.indexOf('MSIE 8.0')>-1){//ie8有個bug(邊框問題)
x+=p.offsetLeft;
y+=p.offsetTop;
}else{
x+=p.offsetLeft+p.clientLeft;
y+=p.offsetTop+p.clientTop;
}
p=p.offsetParent;
}
var obj={};
obj.x=x;
obj.y=y;
return obj;
}

上一篇: DOM2級事件綁定兼容性問題完美解決方案(attachEvent兼容性問題解決)

下一篇: null和undefined在javascript中有什麽實際意義

X-POWER-BY FNC V1.0.0 FROM 自制42