0

我正在尝试在这段 javascript 中添加一个 else 语句,这样如果 adiv-1在它显示后被点击div-2,如果div-1再次被点击它就会隐藏div-2

有谁知道我该怎么做?

$(function() {
    $('.div-1').click(function() {
        $('.div-2').show();
        return false;
    });        
});
4

3 回答 3

7

请尝试toggle()

   $('.div-1').click(function() {
       $('.div-2').toggle();
       return false;
   });
于 2013-10-16T21:38:39.363 回答
0

我完全同意 Jason P 的回答,你应该使用它toggle,但如果你真的需要使用 an if statement,你可以这样做:

$('.div-1').click(function() {
    if ($('.div-2').is(':visible')) {
        $('.div-2').hide();
    } else {
        $('.div-2').show();
    }
   return false;
});

jsFiddle

于 2013-10-16T21:46:52.550 回答
0

您可以添加一个虚拟类并检查它是否存在。

$(function() {
   $('.div-1').click(function() {
       var $this = $(this),
           $div2 = $('.div-2');
       if($this.hasClass('open')) {
            $this.removeClass(open');
            $div2.hide();
       } else {
            $this.addClass(open');
            $div2.show();
       }
       return false;
   });        
});
于 2013-10-16T21:42:35.513 回答