点击,检查div是否打开,如果为false - 使用.show打开,如果为true则不执行任何操作

时间:2012-04-21 15:47:25

标签: jquery jquery-ui show-hide

我正在使用jquery .show来打开div。我已经让它工作正常但是我在弄清楚如何检查div是否已经打开时遇到了一些麻烦。如果是,我不希望它重复.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);
});

}); 

2 个答案:

答案 0 :(得分:3)

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

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

¡¡¡FUN EXAMPLES HERE!!!

答案 1 :(得分:2)

您可以使用:visible selector:hidden selector

$(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);
    });
});

另见my example