如何在打开另一个弹出窗口时自动关闭JQuery中的弹出窗口?

时间:2013-03-25 04:59:17

标签: php jquery html css

我在页面中有3个Jquery弹出窗口。当我打开一个窗口说登录弹出窗口,然后我打开另一个说反馈弹出窗口时,我需要在点击反馈弹出链接时关闭我的登录弹出窗口。 以下是我的登录弹出窗口的示例代码。我也使用相同的反馈弹出窗口。请帮我查询一下。 提前谢谢大家。

$(document).ready(function() {
    $('a.login-window').click(function() {

      //Getting the variable's value from a link 
        var loginBox = $(this).attr('href');

        //Fade in the Popup
        $(loginBox).fadeIn(300);

        //Set the center alignment padding + border see css style
        var popMargTop = ($(loginBox).height() + 24) / 2; 
        var popMargLeft = ($(loginBox).width() + 24) / 2; 

        $(loginBox).css({ 
            'margin-top' : -popMargTop,
            'margin-left' : -popMargLeft
        });

        // Add the mask to body
        $('body').append('<div id="mask"></div>');
        $('#mask').fadeIn(300);

        return false;
    });

    // When clicking on the button close or the mask layer the popup closed
    $('a.close, #mask').live('click', function() { 
      $('#mask , .login-popup').fadeOut(300 , function() {
        $('#mask').remove();  
    }); 
    return false;
    });

2 个答案:

答案 0 :(得分:2)

为所有三个弹出窗口添加一个公共类。显示弹出窗口时,首先隐藏其他弹出窗口,然后显示当前弹出窗口。

<div class="popup1 popup">Menu</div>
<div class="popup2 popup">Login</div>
<div class="popup3 popup">FeedBack</div> 

<强> JS

$('a.login').click(function(){
    $('.popup').hide();
    ---- your code ----
});

答案 1 :(得分:0)

更新:抱歉忘了jQuery的另一半,我现在修复了我的答案。

我不太确定如何使你的代码与你想要做的事情一起工作,但是我在我的所有项目中都使用了很多代码片段,希望它可以帮助你以及更多。

        var first = true;
        var second = true;

    $(document).ready(function () {
            $(".signup").slideToggle();
            $(".login").slideToggle();
            $("#signup").toggleClass("active");
            $("#login").toggleClass("active");


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

                $(".signup").slideToggle();
                first = true;
                $(this).toggleClass("active");
                if (!$("#login").hasClass('active')) {
                    $(".login").slideToggle();
                    second = false;
                    $("#login").toggleClass("active");
                }
                return false;
            });
            $("#login").click(function () {
                $(".login").slideToggle();
                second = true;
                $(this).toggleClass("active");

                if (!$("#signup").hasClass('active')) {
                    $(".signup").slideToggle();
                    first = false;
                    $("#signup").toggleClass("active");
                }
                return false;
            });
        });

并且继承了我的jQuery片段的HTML

    <div id="signup">
        Sign Up

    </div>
    <div class="signup">
        Email:<br>
        <input type="text">
        <br>
        Password:<br>
        <input type="password">
        <br>
        Verify Password:<br>
        <input type="password">
    </div>
    <div id="login">
        Login

    </div>
    <div class="login">
        Email:<br>
        <input type="email">
        <br>
        Password:<br>
        <input type="password">
    </div>