我正在计算单击按钮的次数,但是第三次我要退出该功能。在我的代码中,它在第三次点击后没有退出。有任何想法吗? 谢谢 在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>
答案 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
。