jQuery显示和隐藏

时间:2014-04-16 10:56:42

标签: jquery

我正在创建一个简单的show函数,如果用户点击页面上的任何其他位置,则该节目将变为隐藏。这有效,直到我添加了另一个节目和隐藏功能。我想要它,所以当用户触发显示div时,打开的div关闭,然后打开他们想要打开的div。现在他们都打开了。以下是代码:Jsfiddle:http://jsfiddle.net/hBb9L/19/

 $("#e").click(function (e) {

    $("#s").show(200);
    e.stopPropagation();


    $("body").click(function (e) {
        if (!$(e.target).hasClass('popu')) {


            $("#s").hide(200);

        }
    });
});

 $("#er").click(function (er) {

    $("#u").show(200);
    er.stopPropagation();


    $("body").click(function (er) {
        if (!$(er.target).hasClass('popu')) {


            $("#u").hide(200);

        }
    });
});

1 个答案:

答案 0 :(得分:2)

试试这个,

$("#s").hide(0);
$("#u").hide(0);

$(document).click(function (e) {
    if (!$(e.target).hasClass('popu')) {
        $("#s,#u").hide(200);
    }
});
$("#e").click(function (e) {
    $("#s").show(200);
    e.stopPropagation();
});

$("#er").click(function (er) {
    $("#u").show(200);
    er.stopPropagation();
});

Demo