1

クリックするとレコードの詳細が表示されるテーブルがあります。詳細は、クラス「説明」を持つ子 div にあります。露出の切り替えはうまくいきましたが、既に露出されている要素でクリック関数が呼び出されるのを避けたいです (つまり、既に表示されているものを再表示したくありません)。

私は .bind と .live を試しましたが、うまくいきませんでした。基本的に、新しいクラスの割り当てをDOMで「アクティブ化」できるようにする方法があることを願っています。

よろしくお願いします。

jQuery

$(document).ready(function(){

        $('#libraryBrowser tbody tr:not(.exposed)').click(function(){
            $('.exposed').slideUp('fast');                                                          //hide previously shown element
            $(this).find('div.description').slideToggle('slow').addClass('exposed');                //show selected item's description, flag exposure
        });

});
4

1 に答える 1

0

すでに表示されているものを再表示したくない

フィルター セレクターを使用isして:visible、要素が既に表示されているかどうかを確認できます。表示されている場合は、次のreturn falseような方法で関数を終了するだけです。

if ('.yourelementclass').is(':visible')){
  return false;
}

実際に画像を表示するコードの直前にそのコードを挿入する必要があります。

于 2011-06-13T16:43:04.370 に答える