Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery 2.1.0 |当元素可见性动态设置为隐藏时检测_Jquery_Css_Hidden - Fatal编程技术网

jQuery 2.1.0 |当元素可见性动态设置为隐藏时检测

jQuery 2.1.0 |当元素可见性动态设置为隐藏时检测,jquery,css,hidden,Jquery,Css,Hidden,我无法检测按钮的可见性何时根据元素动态隐藏。cssvisibility,hidden。我正在使用下面的代码,但似乎遗漏了一些东西: var invisible = $('#next-button').filter(function() { return ($(this).parent().css('visibility') == 'inline' && ($(this).css('visibility') == 'hidden' || $(this).css('display')

我无法检测按钮的可见性何时根据元素动态隐藏。cssvisibility,hidden。我正在使用下面的代码,但似乎遗漏了一些东西:

var invisible = $('#next-button').filter(function() {
return ($(this).parent().css('visibility') == 'inline'
&& ($(this).css('visibility') == 'hidden' || $(this).css('display') == 'none'));
});

setTimeout(function(){if ( invisible ) {
alert('not visible');
}}, 1000);

在Youtube API 3频道搜索找到Youtube频道的最后一个视频后,按钮的可见性将动态隐藏。隐藏按钮可见性是为了在其他显示:内联可见元素之间保留其布局,而不是不能在内联布局中使用的显示:无。无论按钮的可见性是否隐藏,警报始终会触发。我还尝试了if invisible==true,并且没有弹出警报,控制台中也没有错误。我错过什么了吗?Thx用于指针。

最后,感谢Barney Scott的答案,找到了一个可行的解决方案,其中我根据自己的需要进行了调整:

$('#button-placeholder:visible').find('#next-button').each(function(){
if ($(this).css('visibility') !== 'visible') {
alert('The visible parent contains an invisible child button that has layout');
}
});

根据jQuery规范,可见性为:hidden或不透明度为0的元素被视为可见,因为它们仍然占用布局中的空间。也许过滤方法终究没有什么帮助?也许在不必要的向下投票之前最好先阅读细节?