我要在某些情况下单击按钮。我认为需要使用set timeout吗?现在,该按钮在页面加载时单击一次:
$(document).ready(function(){
attBtn.trigger('click');
});
但是如何每秒触发一次,直到达到某种条件if
?
答案 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>