js中如何获取某个元素到浏览器最左和最右的距离

时间:2020-12-31 21:09:18

1.解决办法我们可以先获取它的offset它这是相对父容器的距离。然后使用递归来层层获取上一级的offset

var getOffsetLeft =function(obj){
              var tmp = obj.offsetLeft;
              var val = obj.offsetParent;
              while(val != null){
              tmp += val.offsetLeft;
                val = val.offsetParent;
               }
            return tmp;
            }
   
      
var getOffsetTop =  function(obj){
               var tmp = obj.offsetTop;
               var val = obj.offsetParent;
             while(val != null){
                tmp += val.offsetTop;
               val = val.offsetParent;
               }
                return tmp;
             }

这里做法就是使用while来实现当它的父元素为空时就会结束循环此时获取的距离就是那元素到浏览器的距离