私はスクリプトで少し立ち往生しています:
すべての.notme
画像をフィルタリングし、そのリスト項目を非表示にするチェックボックス。問題はfadeToggle
の有効なコールバック関数を取得できないことです。次のように動作するはずです:
#list-team-single-container
のすべての子が「表示なし」の場合-何かをします。
$('#show-only-my-teams').change(function(){
$('.notme').each(function(){
$(this).parent().parent().fadeToggle('fast', function(){
});
});
});
if($('#list-team-single-container').children(':visible').length == 0) {
// action when all are hidden
}
: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
の-子要素の数を返します。
あなたのマークアップを見ずに特定することは難しいですが、私はこのようなことをすることを想像します:
var isVisible = 0;
$('.notme').each( function() {
if( $(this).is(":visible") {
isVisible++;
}
});
if ( isVisible == 0 )
// do something