单击按钮的次数

时间:2016-09-20 20:21:46

标签: javascript html

我正在计算单击按钮的次数,但是第三次​​我要退出该功能。在我的代码中,它在第三次点击后没有退出。有任何想法吗? 谢谢 在html页面中;

<button onclick="myFunction()">Try it</button>



 <script>
       var count = 0;

       function myFunction(){

         count = count + 1;
         alert(count);  

      if(count == 3){
  //exit the function but it's not doing that and keeps on counting.
       return;
       }

         }
    </script>

8 个答案:

答案 0 :(得分:1)

只需将if块移动到函数的开头即可。

function myFunction(){
   if(count == 3){
       //exit the function but it's not doing that and keeps on counting.
       return;
   }
   count = count + 1;
   alert(count);  
}

答案 1 :(得分:1)

将条件移至警报上方。每次单击该按钮时,您都会调用该函数,该函数会在检查是否应该返回之前提醒计数。

<button onclick="myFunction()">Try it</button>



 <script>
       var count = 0;

       function myFunction(){

           if(count == 3){
               //exit the function but it's not doing that and keeps on counting.
               return;
            }
            count = count + 1;
            alert(count);  
        }
</script>

答案 2 :(得分:0)

您的功能会继续计数,因为您一直在调用它。你可以这样做:

<button onclick="count < 3 && myFunction()">Try it</button>

答案 3 :(得分:0)

在每次点击时,您正在“退出”该功能,也就是说,它始终执行,并且返回在警报之后,因此始终显示。 你可以移动它,或者你可以简单地删除onclick属性,甚至不会调用该函数,假设你的按钮的id为btn_3_click

document.getElementById('btn_3_click').onclick = null;

将删除onclick侦听器

答案 4 :(得分:0)

这就是你目前正在做的事情。当您单击该按钮时,您正在调用函数myFunction(),这是正确的。但是,每次单击按钮时,您实际上只是一遍又一遍地调用该函数,这意味着即使在达到值3后再次按下它,它将重复该函数,然后进行价值4 ... 5 .... 6 ..等 它退出该功能,除非你再次调用该函数,第四次,它仍然会一次又一次地增加。

查找如何制作“禁用可点击按钮”。我只是做了这个有效。如你所见,我给了按钮一个id为myBtn,然后当值等于3时,我禁用了按钮。 (注意,===表示我也在检查增量也是整数类型)

<button onclick="myFunction()" id = "myBtn">Try it</button>

 <script>

     var count = 0;
     function myFunction(){

        count = count + 1;
        alert(count);  

        if(count === 3){
      //exit the function but it's not doing that and keeps on counting.
          document.getElementById("myBtn").disabled = true;
          }

    }
</script>

答案 5 :(得分:0)

您必须记住,每次单击按钮时都会调用与onclick事件关联的函数。您的功能实际上正在按预期返回。但是你的if块在它结束时是没用的。实际上,如果count等于3,你将进入内部并返回。如果不是,您将立即返回,产生相同的结果。

如果您想在第三次点击后停止计数,您可以在计数器高于3时从函数开始返回,或者在第三次通话后发生点击事件时取消对该功能的调用

以下是第二个解决方案(https://jsfiddle.net/57saxtdr/

的最小示例

HTML

<button onclick="count(this)">test</button>

的Javascript

var i = 0;

function count(btn)
{
  i ++;
  alert(i);

  if(i >= 3) btn.onclick = null;
}

答案 6 :(得分:0)

您的结构存在问题。从技术上讲,每次单击按钮时都会退出该功能。我添加了禁用行并稍微更改了逻辑以帮助您。

<button id="specialButton" onclick="myFunction()">Try it</button>
<script>
       var count = 0;
       function myFunction(){
         count = count + 1;
         alert(count);  
      if(count >= 3){
  		 document.getElementById("specialButton").disabled = true;
       return;
       }
         }
</script>

您将看到第三次点击时,您的按钮会自行禁用。

答案 7 :(得分:-2)

每次单击该按钮,您都已退出该功能并返回undefined

count = 0声明中尝试if