JSFiddle:JS FIDDLE
HTML:
<div id="content">
<input type=button value="Start Game" id=sGame class=sGame />
Timer: <input type=text class=timer id=timer value="" READONLY />
<br><br>
<div id="cardPile"> </div>
<div id="cardSlots"> </div>
<div id="successMessage">
<h2>You did it in <span class="time"></span> seconds!</h2>
<button onclick="init()">Play Again</button>
</div>
</div>
我遇到的问题是,一旦单击PLAY AGAIN按钮,定时器不会从0重新启动。我尝试了以下代码
$('#sGame').click();
里面的
init();
功能,但即使在点击“开始游戏”按钮之前,计时器也会启动。
答案 0 :(得分:1)
if(timer!== null)clearInterval(timer),value = 0;
如果计时器不为空(它正在运行) - &gt;清除间隔,将值变量设置为0,然后重新启动间隔。
$('#sGame').click(function () {
if (timer !== null) clearInterval(timer), value = 0;
timer = setInterval(function () {
value = value + 1;
$("#timer").val(value);
}, interval);
$('#cardPile').show('slow');
$('#cardSlots').show('slow');
});