2010-08-05 113 views
0

與之前一樣工作在同一頁面上,但現在我將它用作一個操作jQuery的操場,這樣我就可以爲my'boss學習它。不幸的是,我無法獲得該文件中的JavaScript執行,更不用說給我一個警告。頁面上的所有PHP和HTML都可以正常工作,這只是腳本問題。我究竟做錯了什麼?混合使用PHP和jQuery

<?php 

    if(isset($_POST['mushu'])) 
    { 
    playAnimation(); 
    clickInc(); 
    } 

    function playAnimation() 
    { 
    echo "<img src='cocktail-kitten.jpg' id='blur'>"; 
    } 

    function clickInc() 
    { 
    $count = glob("click*.txt"); 

    $clicks = file($count[0]); 
    $clicks[0]+=1; 

    $fp = fopen($count[0], "w") or die("Can't open file"); 
    fputs($fp, $clicks[0]); 
    fclose($fp); 

    echo $clicks[0]; 

    } 
?> 

<html> 

    <head> 

    <title>Adobe Kitten</title> 

    <script type="text/javascript" src="jquery.js"></script> 

    </head> 

    <body> 

    <form action="<?php $_SERVER['PHP_SELF']; ?>" 
      method="post"> 
    <input type="submit" 
      value="Let's see what Mushu is up to." 
      name="mushu"> 
    </form> 

    <script> 
     $(document).ready(function() 
     { 
     $('#blur').click(function() 
     { 
      $(this).blur(function() 
      { 
      alert('Handler for .blur() called.'); 
      }); 
     }); 
     }); 
    </script> 
    </body> 
</html> 

回答

5

你打電話playAnimation()<html>標記之前,所以你的HTML格式不正確。 JQuery可能找不到#blur元素,因爲它實際上不在您的網頁內,更不用說在<body>之內。

在body標籤後面的某個地方移動if(isset($_POST['mushu'])) ...代碼塊。

+0

好吧,讓我感動的PHPŤ o在身體標記之後,但在「」之前,仍然沒有任何反應。我是不正確地格式化jQuery? – Andy 2010-08-05 14:18:11

+1

你的jquery很奇怪 - 你已經設置好了,這樣點擊圖片就可以在圖片上設置blur()函數。你爲什麼不首先嚐試讓click()函數提醒一些事情,以便你能看到它的工作。 – 2010-08-05 14:25:29

1

檢查FireBug的控制檯或FireFox的錯誤控制檯。

+0

不要認爲這應該是被投票... +1 – 2010-08-05 14:19:51

+0

我投了反對票看起來像一個評論給我。 – Reigel 2010-08-05 14:47:34

0

像斯科特說,你需要在頁面的實際正文中回顯div。另外,我認爲你遇到的另一個問題是你打電話給.blur,這是鼠標離開圖像時的事件。既然你有像動畫一樣的功能,我想你可能實際上正在尋找.fade http://api.jquery.com/fadeOut/。嘗試類似於:

<script> 
    $(document).ready(function() 
    { 
     $('#blur').click(function() 
     { 
      $(this).fadeOut('slow', function() 
      { 
       alert('All Done'); 
      }); 
     }); 
    }); 
</script> 
1

驗證是否包含jquery.js,並檢查錯誤控制檯。

否則,可能會或可能不會有助於你的JavaScript問題,有幾個明顯的錯誤:

  • 你在playAnimation()您打開HTML標記之前輸出HTML
  • 你的表單的action屬性是空白 - 你需要<?=<?php echo
  • 腳本標記應該讀<script type="text/javascript">