2

我在一个页面中有 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;
    });
4

2 回答 2

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 ----
});
于 2013-03-25T07:05:19.757 回答
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>
于 2013-03-25T06:56:39.367 回答