0

特定のクラスのどの要素が表示されているかを判断しようとしています。次に、その直前の要素を見つけて、そこにスライドします。これを試しましたが、正しくありません。

if($('#sidepanel1').is(':visible')) {
         }
        else { 

        var prevpanel = $('.sidewrapper').is(':visible').prev().attr('id'); alert(prevpanel);

        $('.sidewrapper').hide("slide", { direction: "right" }, 300); $(prevpanel).show("slide", { direction: "left" }, 300);
        }

}

私が間違っていると思う :visible の使用と関係があります。何か案は?

素晴らしい

4

3 に答える 3

2

変化する

var prevpanel = $('.sidewrapper').is(':visible').prev().attr('id');

var prevpanel = $('.sidewrapper:visible').prev().attr('id');

.is()返品_bool

他のフィルタリング メソッドとは異なり、.is() は新しい jQuery オブジェクトを作成しません。代わりに、jQuery オブジェクトの内容を変更せずにテストできます。

于 2011-04-20T15:50:59.133 に答える
0
if($("#sidepanel1").css("visibility") == "visible")
{
 // do stuff
}
于 2011-04-20T15:52:06.500 に答える
0

docsによると、is()その場合はブール値のみを返します。jQuery オブジェクトの別のインスタンスを返さないため、チェーンが壊れています。

于 2011-04-20T15:52:59.317 に答える