方才在看echo.js的源码,所以此题目延长自echo.js中的一行代码
var isHidden = function(element) {
return (element.offsetParent === null);
};
经由本身实践确切能够运用这类要领来推断当前元素是不是被隐蔽,包含经由过程设置父元素为display:none
以及本身本身为none
的状况。然则如果是经由过程设置visibility:hidden
则没法检测出。
overflow关于这个题目的议论
除了上面的要领另有这类
function isHidden(el) {
var style = window.getComputedStyle(el);
return (style.display === 'none')
}
这类体式格局也是须要手动推断visibility
。不过貌似offsetParent
的要领非常迟缓,即使是新的chrome也没法优化。