3

我正在使用 jquery.show打开一个div. 我已经让它工作正常,但我在弄清楚如何让它检查div's 是否已经打开时遇到了一些麻烦。如果是,我不希望它重复该.show功能。最好的方法是什么?

我现在使用的是(jquery + jquery ui)

$(document).ready(function() {
$('.content').hide(); 

$(".open").click(function () {
  $(".content").show("slide", { direction: "up" },1200);
});

$(".close").click(function () {
  $(".content").hide("slide", { direction: "up" },1200);
});

}); 
4

2 回答 2

3
if ($(".content").is(":visible") {
    // it is showing already
} ...

您还可以查看http://api.jquery.com/slideToggle/

¡¡¡有趣的例子在这里!!!

于 2012-04-21T15:52:36.377 回答
2

您可以使用:visible 选择器:hidden 选择器

$(document).ready(function() {
    $('.content').hide();
    $(".open").click(function () {
        $(".content:hidden").show("slide", { direction: "up" }, 1200);
    });
    $(".close").click(function () {
        $(".content:visible").hide("slide", { direction: "up" }, 1200);
    });
});

另请参阅我的示例

于 2012-04-21T16:09:34.887 回答