原生js判断元素是否可见


迭代判断本身及祖先元素是否可见

/**
* 判断元素是否可见
* @param el{dom}: dom元素
* @eg: isVisible(document.querySelector(cssSelector));
**/
function isVisible(el) {
    var loopable = true,
        visible = getComputedStyle(el).display != 'none' && getComputedStyle(el).visibility != 'hidden';
        
    while(loopable && visible) {
        el = el.parentNode;
        
        if(el && el != document.body) {
            visible = getComputedStyle(el).display != 'none' && getComputedStyle(el).visibility != 'hidden';
        }else {
            loopable = false;
        }
    }
    
    return visible;
}

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM