2014-07-22 124 views
-8

當我按下按鈕清除時,我想要獲得警報clear。但我想在按鈕設置q = 11的方式,然後是q < 12,它會提醒clear。我究竟做錯了什麼?我在做什麼錯了? HTML和Javascript

<html> 
    <head> 
    </head> 
    <body> 
      <script type="text/javascript"> 
     var q = 13 
     if(q < 12) { 
      alert("clear"); 
      var q = 13; 
     } 
     </script> 
      <button onclick="var q = 11">clear</button> 
    </body> 
</html> 
+5

我傾向於避免像這樣的標題的問題。 – davidxd33

+0

1.您每次都定義一個新的'var q'。你應該有一個'function(q)'並將變量傳遞給它。 –

+0

你的意思是:輪詢var q改變的時間,或者當你點擊按鈕時調用方法(更好) – Flynn

回答

3

您對於如何執行此代碼有一個基本的誤解。在頁面加載時,一旦瀏覽器遇到不包含代碼的<script>元素(即在函數中),它將執行該腳本。

所以,當你的頁面加載,它看起來在你<script>塊:

  1. 設置變量q到13
  2. 使用小於(<)比較器q12
  3. 由於上述條件爲假,因此不會進入括號。

您的按鈕將q設置爲11,但這與代碼中的該點無關,因爲它不再檢查條件。使用Javascript函數來實現你想要的功能:

<html> 
    <head> 
    </head> 
    <body> 

     <script type="text/javascript"> 
     function compare(q) { 
      if(q < 12) { 
       alert("clear"); 
      } 
     </script> 

     <button onclick="compare(11)">clear</button> 

    </body> 
</html> 
+0

對不起@FrédéricHamidi並不意味着用這個編輯來踩你的腳趾!我回到你的版本。 – esqew

+0

完全沒有問題,唯一重要的是現在函數名稱是一致的。這兩個名字中的任何一個都可以:) –