Javascript 我的对话框是第一次打开,但不是第二次?
我已经使用jQuery创建了自己的对话框,它工作正常,一切正常,当它第一次成功打开和关闭时,当我再次尝试打开时,但什么也没有出现?你能告诉我这里怎么了吗 以下是我的源代码:Javascript 我的对话框是第一次打开,但不是第二次?,javascript,php,jquery,html,Javascript,Php,Jquery,Html,我已经使用jQuery创建了自己的对话框,它工作正常,一切正常,当它第一次成功打开和关闭时,当我再次尝试打开时,但什么也没有出现?你能告诉我这里怎么了吗 以下是我的源代码: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <script src="jquery-1.11.0.
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script src="jquery-1.11.0.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$('a.dialog-window').click(function(){
var signUpBox=$(this).attr('href');
$(signUpBox).fadeIn(500);
$('body').append('<div id="mask"></div>');
$('#mask').fadeIn(500);
return false;
});
$('a.close_dialog_box').click(function(){
$('.dialog_box').fadeOut(400, function(){
remove();
});
return false;
});
});
</script>
<style>
.dialog_box{
width: 70%;
height: 70%;
background-color: #520832;
position: fixed;
left: 15%;
top: 15%;
-webkit-box-shadow: 0px 1px 15px 4px rgba(50, 50, 50, 1);
-moz-box-shadow: 0px 1px 15px 4px rgba(50, 50, 50, 1);
box-shadow: 0px 1px 15px 4px rgba(50, 50, 50, 1);
-webkit-border-radius: 3px;
-moz-border-radius: 3px;
border-radius: 3px;
display: none;
}
.close_dialog_box{
position: fixed;
right: 14%;
top: 10%;
}
</style>
</head>
<body>
<a href="#dialog" class="dialog-window">Signup!!</a>
<div id="dialog" class="dialog_box">
<a href="#" class="close_dialog_box"><img src="close_pop.png" class="btn_close" title="Close Window" alt="Close" /></a>
<h2 style="color: #E2E2E2; font-family: Aileron, sans-serif; text-align: center;">Signup Now!</h2>
<form method="post" class="signUp" action="#">
</form>
</div>
</body>
</html>
$(文档).ready(函数(){
$('a.dialog-window')。单击(函数(){
var signUpBox=$(this.attr('href');
美元(签名盒).fadeIn(500);
$('body')。追加('');
$('面具').fadeIn(500);
返回false;
});
$('a.close_dialog_box')。单击(函数(){
$('.dialog_box').fadeOut(400,function(){
删除();
});
返回false;
});
});
.对话框{
宽度:70%;
身高:70%;
背景色:#520832;
位置:固定;
左:15%;
最高:15%;
-网络工具包盒阴影:0px 1px 15px 4px rgba(50,50,50,1);
-moz盒阴影:0px 1px 15px 4px rgba(50,50,50,1);
盒影:0px 1px 15px 4px rgba(50,50,50,1);
-webkit边界半径:3px;
-moz边界半径:3px;
边界半径:3px;
显示:无;
}
.关闭对话框{
位置:固定;
右:14%;
排名前10%;
}
现在注册!
删除该行删除()代码>从
$('a.close_dialog_box').click(function(){
$('.dialog_box').fadeOut(400, function(){
remove(); <------ Remove this
});
return false;
});
$('a.close_对话框')。单击(函数(){
$('.dialog_box').fadeOut(400,function(){
remove();删除函数remove()
所以onclick代码将是
$('a.close_dialog_box').click(function(){
$('.dialog_box').fadeOut(400, function(){
//no need of remove
});
return false;
});
你可以改变
$('.dialog_box').fadeOut(400, function(){
remove();
});
到
这里还有一个行remove();
正在从html中完全删除对话框,因此无法再次打开,因为它已不存在。请尝试从代码中删除remove();
行,它应该可以正常工作。在Try块中使用对话框。然后使用catch块来处理执行选项。
}remove remove();from$('a.close_dialog_box')。单击(function(){$('.dialog_box')。淡出(400,function(){remove();});您能提供一个JSFIDLE吗pls@AnoopJoshi:感谢它的工作:)感谢再次扩展@AnoopJoshi,让您了解原因:您正在删除(remove()
)删除该项,使其不再位于DOM中,而不仅仅是删除它(这是他们的代码所做的)。
$('.dialog_box').fadeOut(400);