jQuery UI-セレクターによって要素を非表示および再表示するスワップ関数
-
03-07-2019 - |
質問
序文:ページにjQueryとjQuery UIが含まれています。
この関数を定義しています:
function swap(sel) {
if (1 == 1) {
$(sel).hide('drop',{direction:'left'});
}
}
(1 == 1)部分を修正して、要素が既に非表示になっているかどうかを確認し、表示されている場合は元に戻すにはどうすればよいですか。これは簡単だと確信していますが、jQueryは初めてです。
解決
toggle
が気に入らない場合は、これが役に立ちます:
function swap(sel) {
if($(sel).is(':visible')) {
$(sel).hide('drop',{direction:'left'});
} else {
$(sel).show('drop',{direction:'left'});
}
}
他のヒント
おそらく $(sel).toggle();
がお探しですか?これが要素の可視性を切り替える最良の方法です。
他の回答者が言ったように、 toggle()
が最適なソリューションです。ただし、何らかの理由でトグルを使用できない場合、またはトグルを使用したくない場合、セレクターが1つの要素のみの場合:
function swap(sel) {
if ($(sel).is(':visible')) { // Is this element visible?
$(sel).hide('drop',{direction:'left'});
}
}
注意::visibleチェックは、要素またはその親のいずれかが:hidden
である場合、偽陽性を返します。それが重要な場合は、このソリューションをチェックアウトこれも同様にチェックしようとします。
所属していません StackOverflow