获取dom到body左侧和顶部的距离-getBoundingClientRect 平时在写js的时候,偶尔会需要用js来获取当前div到 body 左侧.顶部的距离.网上查一查,有很多都是通过offsetTop.offsetLeft来计算出来的.我按照网上的查到的资料用了一次,算出来了一堆错误答案. 下面我要分享的这个方法,兼容性很好(ie4都ok),而且很方便,不会算错. 这个方法就是 getBoundingClientRect. 1.getBoundingClientRect方法简介 get
获取元素(这里定位元素A)距离顶部的高度,接着设定scroll滚动的事件,比如超过那个高度,把A的位置设定为fixed,小于该高度,修改回relative. 方法一: $(function() { var elm = $('.nav'); var startPos = $(elm).offset().top; $.event.add(window, "scroll", function() { var p = $(window).sc
1.通过遍历目标节点.目标节点的父节点,依次溯源. 然后累加这些节点到其最近可定位的祖先节点的距离.向上直到document. 其中,需要使用到节点的offsetTop/offsetLeft属性,来获取节点到最近祖先元素的距离.(position不为static) 需要使用到getComputedStyle来获取节点的计算属性. 代码实现: function fn(ele) { let result = { left: 0, top: 0 } // 节点display为none时,直接返回 if