使用一个按钮在JQuery中打开/关闭的问题

时间:2013-02-11 19:40:43

标签: javascript jquery

嘿伙计们我试图制作一个按钮,根据它是否在第一次点击时打开和关闭 - 如果是第二次打开它,它会关闭并重置。

这是我到目前为止的代码 - 它只会打开并且不会关闭:

var val;
$(".confirmed").click(function(){
    if (val == 1){
        hide(); 
    }
    val = 1;
    $(".confirmedtable").show();
    $(".searchconfirmed").show();
});

function hide(){

            $(".confirmedtable").hide();
            $(".searchconfirmed").hide();
            val = 0;

}

由于

3 个答案:

答案 0 :(得分:2)

您可以在jquery中使用toggle()函数来执行此操作。请参阅:http://api.jquery.com/toggle/

$('#button').click(function() {
    $('#div_to_show_hide').toggle('slow', function() {
        // Animation complete.
    });
});

如果元素当前被隐藏,则切换将显示一个元素,如果元素当前显示,则隐藏该元素。

答案 1 :(得分:1)

$(".confirmed").click(function(){
    $(".confirmedtable, .searchconfirmed").toggle();
});

FIDDLE

答案 2 :(得分:1)

作为基于toggle()的答案的替代方案:

$('.confirmed').click(function(){
    $('.confirmedtable, .searchconfirmed')[$('.confirmedtable').is(':visible') ? 'hide' : 'show']();
});

JS Fiddle demo

但是,它最多只是另一种选择; toggle()方法更简洁。