我的代码位于https://codepen.io/tb0217/pen/wYzMBe。我需要使这个时间从单击卡开始,并停止打开多个计时器。每次单击新卡时,当我将启动计时器功能置于click事件中时,它将添加计时器并快速运行。当在模态函数中单击“是”按钮时,我还需要有关重置此计时器的帮助。有人可以解释一下吗?
var sec = 0;
function startTime(val) { return val > 9 ? val : "0" + val; }
var timer = setInterval(function() {
$("#seconds").html(startTime(++sec % 60));
$("#minutes").html(startTime(parseInt(sec / 60, 10)));
}, 1000);
答案 0 :(得分:0)
检出此https://codepen.io/anon/pen/OBbRoj笔。我进行了一些更改,以重置计时器,并在单击框时启动。
if(!isStarted){
timer = setInterval(function() {
$("#seconds").html(startTime(++sec % 60));
$("#minutes").html(startTime(parseInt(sec / 60, 10)));
}, 1000);
isStarted = true;
}
function resetTimer(){
sec = 0;
$("#seconds").html(startTime(0 % 60));
$("#minutes").html(startTime(parseInt(0 / 60, 10)));
startTime();
isStarted = false;
}
您还需要将resetTimer()
添加为onclick
按钮的yes
:
<button id="yesBtn" onclick="resetTimer();">Yes</button>
答案 1 :(得分:0)
您可以使用one()一次添加事件侦听器,触发后将删除该侦听器。
function addTimer(){
$(".deck").one("click",".card",()=>{
// your timer function here.
})
}
然后在窗口的加载事件和yes按钮的click事件中使用它。