-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 に答える