js 可以用offsetWidth 获取控件宽度 , 能获取左边框与body的距离吗

2024-11-22 20:03:12
推荐回答(1个)
回答1:

如果元素是body内的一级元素,可以用offsetLeft直接获得其左边距。

如果元素是嵌套的,且父元素中存在容器元素(即具有定位属性的元素,包括绝对定位、相对定位、固定定位),则情况要变复杂了,需要把所有容器的offsetLeft和元素的offsetLeft相加才是最终的左边距:

var obj=document.getElementById("test"); //假定元素的id为test
var left=obj.offsetLeft;
while(obj=obj.offsetParent){
   left+=obj.offsetLeft;
}
console.log(left);  //left就是左边距