我该如何关闭这个DIV?

时间:2013-08-21 18:39:36

标签: php javascript html popup

我做了噩梦,用Javascript来关闭这个div .. 我的目标是在perosn提交表单和X按钮关闭它时立即获取div弹出窗口。

    if(isset($_POST['letter1']))
    {

    echo'<div id="popup">';
    echo' <div class="close">X</div>
    ';
    echo'<img src="images/guytalk.jpg" width="400" height="450">';
    echo'<h2>Hello</h2>';
    echo'&nbsp;';
    echo'<i>';


    switch ($letter1)
    {
   <!--PHP Code -->
       }
    echo'</i>';
    echo'&nbsp';
    echo'How do you do?';
    echo'<div class="loader"></div> <div id="backgroundPopup"></div>';
      echo'</div>';

      }
       else

到目前为止我的Javascript ..

<script>/* event for close the popup */
    $("div.close").hover(
                    function() {
                        $('span.ecs_tooltip').show();
                    },
                    function () {
                        $('span.ecs_tooltip').hide();
                    }
                );

    $("div.close").click(function() {
        disablePopup();  // function close pop up
    });

    $(this).keyup(function(event) {
        if (event.which == 27) { // 27 is 'Ecs' in the keyboard
            disablePopup();  // function close pop up
        }
    });

        $("div#backgroundPopup").click(function() {
        disablePopup();  // function close pop up
    });

    </script>

如果你能指出错误,我将不胜感激。非常感谢 ! 我明天要提交!:P

2 个答案:

答案 0 :(得分:0)

首先,确保您的jQuery调用都在$(document).ready()函数内,如下所示:

<script>
    $(document).ready(function() {
       /* All of your code that references the DOM should go here */
       $("div.close").click(function() {
           alert("clicked!");
       });
    });
</script>

如果你想知道disablePopup函数的样子,可能是这样的:

$("#popup").hide();

但是,如果您已经拥有该功能并且您只是遇到无法识别的错误,请尝试按照以下步骤查明错误:

首先,确保您使用具有javascript调试程序的浏览器查看该页面。例如,如果您使用的是Firefox,则获取FireBug扩展名。它会显示实际的javascript错误,如果有的话。

其次,如果某些内容无效,您应该尝试消除所有其他错误来源,并将代码减少到最重要的部分。例如,按如下方式注释掉您的代码:

<script>/* event for close the popup */
  /*  
  $("div.close").hover(
                function() {
                    $('span.ecs_tooltip').show();
                },
                function () {
                    $('span.ecs_tooltip').hide();
                }
            );
*/
$("div.close").click(function() {
    disablePopup();  // function close pop up
});

/*
$(this).keyup(function(event) {
    if (event.which == 27) { // 27 is 'Ecs' in the keyboard
        disablePopup();  // function close pop up
    }
});

    $("div#backgroundPopup").click(function() {
    disablePopup();  // function close pop up
});
*/
</script>

这样,如果其余代码中存在错误,您可以确定它们的位置。最后,将您的disablePopup()函数替换为alert("close button clicked")之类的其他函数,以验证单击处理程序是否正常工作。

如果您执行所有这些步骤,您应该能够缩小问题范围。

答案 1 :(得分:0)

将代码写入“ready”事件:

$(document).ready({
    //$("div.close")....
});

古德勒克