-1

我做了噩梦来使用 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

4

2 回答 2

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")验证点击处理程序是否正常工作。

如果你做了所有这些步骤,你应该能够缩小问题的范围。

于 2013-08-21T18:49:56.777 回答
0

在“就绪”事件中编写代码:

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

祝你好运

于 2013-08-21T19:33:46.157 回答