pbojinov
1/25/2015 - 10:36 PM

jQuery's implementation of :visible :hidden

jQuery's implementation of :visible :hidden

var itemVisibleInterval = window.setInterval(function() {
    console.log('checking to see if item is here');
    var item = document.getElementById('my_item');
    if (item && isVisible(item)) {
        console.log('item is visible');
        window.clearInterval(itemVisibleInterval);
    }
}, 100);


// jQuery 1.3+ overhauled implementation
// http://blog.jquery.com/2009/02/20/jquery-1-3-2-released/#:visible.2F:hidden_Overhauled
function isVisible(element) {
    if (element) {
        return element.offsetWidth > 0 && element.offsetHeight > 0;
    }
    else {
        return false;
    }
}

// Where el is the DOM element you'd like to test for visibility
// jQuery pre 1.3 implementation
function isHidden(el) {
    var style = window.getComputedStyle(el);
    return (style.display === 'none');
}