简单时间间隔不清除

时间:2017-03-30 05:12:32

标签: javascript jquery html intervals

我正在使用以下提示构建游戏程序:

“修改挑战#3,以便每次玩家点击标题,而不是停止,标题加速,使点击更加困难。跟踪标题被点击的次数并更新标题文本,以便显示此数字。当玩家达到10次点击时,停止动画并将标题文本更改为“你赢。”提示:要加快速度,您必须取消当前间隔然后开始一个间隔时间较短的新人。“

这是点击事件本身。我把所有东西都放下了,除非文字在点击次数超过10次时不会停止。我也链接了我的jfiddle。

$("#heading").click(function() {
       clearInterval(move);
       if (clicks < 10)
       {
            var move = setInterval(moveHeading, speed -= 2);
            $("#heading").html(clicks + " Clicks!");
            clicks++;
       } 
       else 
       {
            $("#heading").html("You won!");
            $("#heading").css("color","red");
            clearInterval(move);
       }
 });

https://jsfiddle.net/jggzb49j/1/

1 个答案:

答案 0 :(得分:2)

在外部声明变量move而不是内部处理函数

var move;
$("#heading").click(function() {
  clearInterval(move);
  if (clicks < 10) {
    move = setInterval(moveHeading, speed -= 2);
    $("#heading").html(clicks + " Clicks!");
    clicks++;
  } else {
    $("#heading").html("You won!");
    $("#heading").css("color", "red");
    clearInterval(move);
  }
});