viewport-funcs
Version:
A very limited subset of viewport functions I use every day
17 lines (13 loc) • 491 B
JavaScript
const setNumber = require('set-funcs/set-number')
const isNode = require('is-funcs/is-node')
module.exports = function(el, offset, check) {
if (check === true) {
if (isNode(el, true) === false || el.offsetWidth == 0 || el.offsetHeight == 0) return false
}
offset = setNumber(offset)
var r = el.getBoundingClientRect()
return r.right >= -offset
&& r.left <= window.innerWidth + offset
&& r.top <= window.innerHeight + offset
&& r.bottom >= -offset
}