1 2 3 4 5 6 7 8 9 10 11 12 13 14 | /** * Is the element visible by the Eye? * @param {Element | jQuery} el - object to check. Either an Element or a jQuery selection. * @returns {object} True if it can be seen. */ function isElementVisible(el) { "use strict" ; if (!el) // Can't find? Can't see! return false ; var v_element = (el instanceof jQuery) ? el : $(el); if (v_element.length === 0) // Still nothing to look for return false ; return v_element[0].isSameNode(document.elementFromPoint((v_element.width() / 2) + v_element.offset().left, (v_element.height() / 2) + v_element.offset().top)); } |
What happens here?
We are checking if the element at the given point (our element's middle) is the same element as returned by
document.elementFromPoint
: then we can see it. If a different one, then that foreign element overlays the one we are looking for.
No comments :
Post a Comment