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

根据文档is()在这种情况下只会返回一个布尔值。它不返回 jQuery 对象的另一个实例,所以你的链被破坏了。

于 2011-04-20T15:52:59.317 回答