登录/注册转换错误

时间:2015-07-17 05:37:19

标签: jquery

我遇到登录覆盖转换问题。一切正常,但当你点击“忘记密码?”,然后点击“突然记住?登录这里”,它会关闭叠加而不是回到登录叠加。

Jquery

$(document).ready(function () {
    $login = $("#loginLink");
    $loginclose = $(".close");
    $signin = $("#signLink");
    $signinclose = $(".closesign");

    $login.click(function (event) {
        event.preventDefault();
        $(".login_overlay").fadeToggle("fast");
        $(".signin_overlay").hide();
    });

    $loginclose.click(function (event) {
        $(".login_overlay").hide();
    });

    $(".forgot").click(function (event) {
        event.preventDefault();
        $(".forgot-password-overlay").fadeToggle("fast");
        $(".login_overlay").hide();
    });

    $(".linkRegister").click(function (event) {
        event.preventDefault();
        $(".signin_overlay").fadeToggle("fast");
        $(".login_overlay").hide();
    });

    $signin.click(function (event) {
        event.preventDefault();
        $(".signin_overlay").fadeToggle("fast");
        $(".login_overlay").hide();
    });

    $signinclose.click(function (event) {
        $(".signin_overlay").hide();
    });

    $(".linkLogin").click(function (event) {
        event.preventDefault();
        $(".login_overlay").fadeToggle("fast");
        $(".signin_overlay").hide();
    });

    $(this).click(function (event) {
        if (!$(event.target).closest('.login-wrapper, #loginLink, .sign-wrapper, #signLink, .forgot-password-wrapper').length) {
            $(".login_overlay, .signin_overlay, .forgot-password-overlay").hide();

        }
    });

});

https://jsfiddle.net/tn212b6x/

1 个答案:

答案 0 :(得分:1)

问题在于这个功能:

    $(".forgot").click(function (event) {
        event.preventDefault();
        $(".forgot-password-overlay").fadeToggle("fast");
        $(".login_overlay").hide();
    });

当您点击“突然想起?登录此处”时,它会触发此点击处理程序,因为该div位于.forgot内。

现在这个处理程序隐藏了.login_overlay

可以通过多种方式解决问题,但其中一种方法是为您的表单提供除.forgot以外的其他类名。

<form method="post" class="forgot-form">

并修改.login-click处理程序,如下所示

    $(".linkLogin").click(function (event) {
        event.preventDefault();
        $(".login_overlay").fadeToggle("fast");
        $(".forgot-password-overlay").hide();
        $(".signin_overlay").hide();
    });

查看此处的工作 - https://jsfiddle.net/drecodeam/tn212b6x/3/