2014-07-22 71 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

完全没有问题,唯一重要的是现在函数名称是一致的。这两个名字中的任何一个都可以:) –