Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/423.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我的对话框是第一次打开,但不是第二次?_Javascript_Php_Jquery_Html - Fatal编程技术网

Javascript 我的对话框是第一次打开,但不是第二次?

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.

我已经使用jQuery创建了自己的对话框,它工作正常,一切正常,当它第一次成功打开和关闭时,当我再次尝试打开时,但什么也没有出现?你能告诉我这里怎么了吗

以下是我的源代码:

<!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);