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

jQuery 2.1.0 | Detect when element visibility is dynamically set to hidden

我无法检测按钮的可见性何时根据 element.css("visibility","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 频道的最后一个视频后,该按钮的可见性会动态隐藏。按钮可见性被隐藏以保留其在其他 display:inline 可见元素之间的布局,而不是不能在内联布局中使用的 display:none。无论按钮的可见性是否隐藏,警报始终会触发。我也试过 if ( invisible == true ) 没有弹出警报,控制台也没有错误。我错过了什么吗?感谢指点。

最后,由于 Barney Scott 在 jQuery detect visible but hidden elements 中找到的答案,我根据自己的需要对其进行了调整:

$('#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');
}
});