每秒单击一次按钮,直到

时间:2018-10-19 13:59:32

标签: javascript jquery

我要在某些情况下单击按钮。我认为需要使用set timeout吗?现在,该按钮在页面加载时单击一次:

$(document).ready(function(){

attBtn.trigger('click'); 

});

但是如何每秒触发一次,直到达到某种条件if

3 个答案:

答案 0 :(得分:1)

不是setTimeout(),而是setInterval()。 您需要将其包含在变量中 在setInterval()回调中,执行检查以停止循环

var loop
var stop
loop = setInterval(function() {
    // Do you stuff

    if(stop) { clearInterval(loop) }
}, 1000)

答案 1 :(得分:0)

if(whatever conditions you want)
{
    setTimeout(yourClickFunction, 1000)
}

您希望它在什么条件下停止?

答案 2 :(得分:0)

  

我网站上的自动战斗模式。就像您第一次单击攻击按钮,然后它会自动单击其余时间,直到用户HP为零。

您可以使用setInterval()运行一项功能,其中每秒(1000 ms)降低 HP 直至其变为0 ... clearInterval()的使用停止过程。

这里是一个例子:

var FightInterval;
$("#fight").on("click",function(){
  FightInterval = setInterval(function(){
    var HP = $("#life").text();
    if(HP>0){
      $("#life").text(HP-1);
    }else{
      clearInterval(FightInterval);
    }
  },1000);
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
Ennemy HP : <span id="life">10</span><br>
<br>
<button id="fight">Fight</button>