function toTopHeight(el) { var top_height = el.offsetTop; //先保留以后元素的offsetTop值 if(el&&el.nodeName!='HTML') { el = el.parentElement; while(el&&el.nodeName!="HTML"){//当以后元素不是顶部html标签时,持续迭代 if(getComputedStyle(el).position!=='static'){ //只有当元素有定位时,才将此元素的offsetTop值退出到后果中,因为offsetTop的值是间隔本身到离本身最近的有定位的父元素的内壁的间隔 top_height+=el.offsetTop; } el = el.parentElement; } } return top_height;}
有不懂或者谬误的中央能够在下方评论区交换探讨