備忘錄_20160105(定位)
修改
回首頁
程式 2022-09-19 17:15:05 1663578905 100
用 js / javascript 檢查元素是否在畫面內
用 js / javascript 檢查元素是否在畫面內
function getBoolIsInViewportById(strId)
{
return getBoolIsInViewportByObj(document.getElementById(strId));
}
function getBoolIsInViewportByObj(oElement)
{
var oRect=oElement.getBoundingClientRect();
var oViewport={
left:0,
top:0,
right:(window.innerWidth || document.documentElement.clientWidth),
bottom:(window.innerHeight || document.documentElement.clientHeight)};
// 面積為零,直接跳出
if(oRect.left==oRect.right || oRect.top==oRect.bottom || oViewport.left==oViewport.right || oViewport.top==oViewport.bottom) { return false; }
if(oRect.left>oViewport.right || oViewport.left>oRect.right) { return false; }
if(oRect.bottom<oViewport.top || oViewport.bottom<oRect.top) { return false; }
return true;
}