使用此代码,当用户在我的弹出窗口内单击此弹出窗口时。但是,当用户单击?
以恢复密码时,会显示弹出窗口,但不会关闭登录表单。
如何关闭登录弹出窗口的任何想法?
HTML代码:
<div id="joinusLogin">
<div id="backgroundOpacity"></div>
<form id="loginForm">
<input id="loginFormFields" type="email" name="email" placeholder=" E-mail"/><br />
<input id="loginFormFields" type="text" name="password" placeholder=" Password"/>
<div id="requestPassword">
<a href="javascript:hideshow(document.getElementById('passwordRecover'))">?</a>
</div>
<br />
<input id="submitLogin" type="submit" value="LOG IN"/>
</form>
<div id="signupNow">
Don't have an account yet?
<a href="javascript:hideshow(document.getElementById('inviteNowSignup'))">
Sign up here.
</a>
</div>
</div>
<div id="passwordRecover">
<div id="backgroundOpacity"></div>
<form id="passwordRecoverForm">
<input id="passwordRecoverFields" type="email" name="email" placeholder=" E-mail"/><br />
<input id="submitPasswordRecover" type="submit" value="SEND PASSWORD"/>
</form>
<div id="signupNow">
Don't have an account yet?
<a href="javascript:hideshow(document.getElementById('inviteNowSignup'))">
Sign up here.
</a>
</div>
</div>
Javscript代码
function hideshow(which){
if (!document.getElementById)
return
if (which.style.display=="block")
which.style.display="none"
else
which.style.display="block"
}
$('body').click(function(){
$('#inviteNowSignup, #joinusLogin, #passwordRecover').hide();
});
$('body').on('click',"#signupForm, #loginForm, #passwordRecoverForm",function (e){
e.stopPropagation();
});
答案 0 :(得分:0)
如您的代码所示。您已经处理了已单击并传递给您的函数的元素的打开和关闭。但是你没有处理那些已经开放的东西。
尝试在函数
之前添加此行 $('#inviteNowSignup, #joinusLogin').hide();
它会隐藏其他div。 BTW很好的工作与单一功能隐藏和取消隐藏。