jQuery UI-セレクターによって要素を非表示および再表示するスワップ関数

StackOverflow https://stackoverflow.com/questions/401056

  •  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'});
  }
}

他のヒント

toggle()を使用しない理由?

例:

function swap(sel) {
  $(sel).toggle();
} 

おそらく $(sel).toggle(); がお探しですか?これが要素の可視性を切り替える最良の方法です。

他の回答者が言ったように、 toggle()が最適なソリューションです。ただし、何らかの理由でトグルを使用できない場合、またはトグルを使用したくない場合、セレクターが1つの要素のみの場合:

function swap(sel) {
    if ($(sel).is(':visible')) {  // Is this element visible?
       $(sel).hide('drop',{direction:'left'});
    }
}

注意::visibleチェックは、要素またはその親のいずれかが:hidden である場合、偽陽性を返します。それが重要な場合は、このソリューションをチェックアウトこれも同様にチェックしようとします。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top