我的脚本有点困在这里:
它是一个复选框,用于过滤所有.notme
图像并隐藏其列表项。
问题是现在我无法获得fadeToggle
的工作回调函数。
它的行为应该是这样的:
如果
#list-team-single-container
的所有孩子都“没有显示” - 做点什么。
$('#show-only-my-teams').change(function(){
$('.notme').each(function(){
$(this).parent().parent().fadeToggle('fast', function(){
});
});
});
答案 0 :(得分:63)
if($('#list-team-single-container').children(':visible').length == 0) {
// action when all are hidden
}
答案 1 :(得分:10)
:visible
jQuery选择器可能就是你要找的......
如果元素占用文档中的空间,则认为元素是可见的。 可见元素的宽度或高度大于零。
具有可见性的元素:隐藏或不透明度:0被视为可见, 因为他们仍然在布局中消耗空间。在动画期间 隐藏元素,该元素被认为是可见的,直到结束 动画片在显示元素的动画期间,元素是 被认为在动画开始时可见。
http://api.jquery.com/visible-selector/
$('#list-team-single-container').children(':visible');
该行代码将返回#list-team-single-container
可见的所有子元素。
$('#list-team-single-container').children(':visible').length;
该代码行将返回可见的#list-team-single-container
的子元素数。
答案 2 :(得分:9)
如果没有看到你的标记很难具体,但我想这样做:
var isVisible = 0;
$('.notme').each( function() {
if( $(this).is(":visible") {
isVisible++;
}
});
if ( isVisible == 0 )
// do something