0

序文: ページに jQuery と jQuery UI が含まれています。

私はこの関数を定義しています:

    function swap(sel) {
        if (1 == 1) {
           $(sel).hide('drop',{direction:'left'});
        }
    }

(1 == 1) の部分を修正して、要素が既に非表示になっているかどうかをテストし、その場合は元に戻すにはどうすればよいですか。これは簡単だと思いますが、jQuery は初めてです。

4

4 に答える 4

3

が気に入らない場合はtoggle、これが役立つ場合があります。

function swap(sel) {
  if($(sel).is(':visible')) {
    $(sel).hide('drop',{direction:'left'});
  } else {
    $(sel).show('drop',{direction:'left'});
  }
}
于 2008-12-30T20:28:08.040 に答える
2

他の回答者が言ったようにtoggle()、最善の解決策です。ただし、何らかの理由でトグルを使用できない/使用したくない場合、およびセレクターが 1 つの要素のみの場合:

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

警告: 要素またはその親のいずれかが である場合、:visible チェックは誤検知を返します:hidden。それが重要な場合は、そのいずれかをチェックしようとするこのソリューションもチェックしてください。

于 2008-12-30T20:27:58.090 に答える
2

なぜtoggle()を使用しないのですか?

例えば:

function swap(sel) {
  $(sel).toggle();
} 
于 2008-12-30T18:34:59.533 に答える
2

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

于 2008-12-30T18:35:32.903 に答える