游戏重置按钮无法正常运行。不可点击的div

时间:2018-02-18 16:10:10

标签: javascript jquery html css

因此,在我正在制作的游戏中,有一个重新启动按钮,可以重新洗牌,然后将东西重新开始。卡片重新洗牌并更换,但之后没有可点击的卡片。在单击时添加类cardClicked,并在超时功能选择两个后删除。另外(不要把它打开),但是关于如何在启动和重启时启动和重置计时器的任何好主意?感谢。

Fiddle

  var cardsArray = [];
  $('.cardClicked').removeClass("cardClicked");
  var moves = [];
  $('.movesBlock').html('<p class="movesText">' + 'Moves: ' + moves.length + '</p>');
  $('.rating').html('Rating:' + starItem + starItem + starItem);
  for (i = 0; i < items.length; i++) {
    $('<div class="card"/>').html('<span class="cardText">' + items[i] + '</span>').appendTo('.board');
  };
  items = shuffle(items);

2 个答案:

答案 0 :(得分:1)

因为在.restart点击后,您要删除DOM中的.card$('.card').click()点击后.restart无法正常工作...

因此,您需要在.card点击

上使用 event delegation
$(document).on('click','.card',function(){
  //do stuff here
}

你也在代码中写过$('.card').click()两次......不需要它。结合两者。

Updated Fiddle ▸

答案 1 :(得分:1)

您需要创建一个功能来管理定时器功能

之外的定时器
var timer;
function resetTimer() {
  clearInterval(timer);
  var mins = 0;
  var secs = 0;
  timer = window.setInterval(
    function() {
      secs = secs + 1;
      if (secs == 59) {
        mins = mins + 1;
        secs = 0;
      }
      $('.countUp').html('<p>' + 'Timer: ' + mins + ':' + secs + '</p>');
    }, 1000);
 }

当您需要启动或重启计时器时,您只需要拨打电话resetTimer();