rootからtargetのスクロール量を計算する
/**
* rootからtargetのスクロール量を計算する
*/
export default function calcOffsetTop(target: HTMLElement, root: HTMLElement = document.body) {
if(!target) throw new Error('[no target]');
let elm: HTMLElement = target
let offset: number = 0
while(true) {
offset += elm.offsetTop
if(elm.offsetParent === root) break
elm = elm.offsetParent as HTMLElement
}
return offset;
}