今天在項目中,遇到一個需求:需要判斷目前元素是否出現在頁面中,是則發送請求,否則不發。
基于此需求,需要有一個判斷目前元素是否在目前頁面中的函數。廣閱了一些文章之後,總結并實踐寫出了如下函數,希望可以幫助到有需要的同猿們~
checkInPage = el => {
const pageHeight = document.documentElement.clientHeight
const contentTop = el.getBoundingClientRect().top
const contentHeight = el.offsetHeight
return (contentTop<pageHeight && contentTop>=0) || (contentTop<0 && (contentTop+contentHeight>0));
}
新手上路,希望各路高手指點賜教,也希望可以跟大家分享交流更多技術上的事情~