【发布时间】:2014-03-03 22:45:16
【问题描述】:
我正在开发一款涉及倒数计时器的儿童游戏。如果用户在计时器用完之前匹配所有元素,则“你赢了!”弹出窗口出现。如果在计时器归零之前它们没有匹配所有元素,则会出现“对不起,你输了”弹出窗口。
我遇到的问题是,在用户赢得游戏并且“你赢了!”之后,时钟不会停止倒计时。弹出窗口出现,所以一旦计时器达到零,“对不起,你输了”弹出窗口仍然出现。
这是我的代码:
$("#startClock").click( function(){
var timer;
var counter = 4;
var winner = 0;
var done = true;
$("#boat").draggable({
revert: "invalid", containment: "#wrapper",
start: function(event, ui){
if(!done) return false;
},
stop: function(event, ui){
if($(".correct").length == $(".drop").length){
setTimeout(function(){
$("<div title='You did it!'>You won!</div>").dialog();
},500);
var winner = 1;
}
}
});
if(!timer){
timer = setInterval(function() {
counter--;
if (counter >= 0) {
span = document.getElementById("count");
span.innerHTML = counter;
}
if (counter === 0 && winner === 0) {
$("<div title='Game Over'>Sorry, game over!</div>").dialog();
clearInterval(counter);
}
}, 1000);
}
});
View my demo game here.(点击右上角的“开始计时”。)感谢您的帮助。谢谢!
劳伦
【问题讨论】:
标签: javascript jquery timer countdown