Jquery 祝贺你';不会突然出现

Jquery 祝贺你';不会突然出现,jquery,Jquery,我正在做一个匹配的游戏项目,当所有的牌都匹配游戏结束时,恭喜你。但它在我的代码中不起作用。请你检查一下,纠正我的错误好吗。所以它工作正常 下面是我的index.html代码的片段[模式部分] <div class="modal" id="myModal"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header">

我正在做一个匹配的游戏项目,当所有的牌都匹配游戏结束时,恭喜你。但它在我的代码中不起作用。请你检查一下,纠正我的错误好吗。所以它工作正常

下面是我的index.html代码的片段[模式部分]

<div class="modal" id="myModal">
<div class="modal-dialog">
    <div class="modal-content">

        <div class="modal-header">
            <h4 class="modal-title" id="myModal-label">Congratulations!!!</h4>
        </div>

        <div class="modal-body">
            <p id="myText"></p>
        </div>

        <div class="modal-footer">
            <button type="button" data-dismiss="modal" class="btn btn-success btn-default" onclick="gameStart(), $rating.removeClass('fa-star-o').addClass('fa-star');">Play Again!</button>
        </div>
      </div>
</div>
</div>
你在看

$('#myModal').toggle();
请参阅您正在查看的文档:

$('#myModal').toggle();

参考文档:

正如前面的答案所指出的,
$(“#myModal”).toggle()以显示模式

您没有看到模式,因为触发
gameOver
函数的最终检查与始终为16的
cardList
匹配

if (cardList === match) {
            rating(moves);
            let score = rating(moves).score;
            setTimeout(function () {
                gameOver(moves, score);
            },800);
        } 
检查应针对
totalCard
进行,该值为8,
match
的值在匹配所有卡后也等于8

if (totalCard === match) {
  rating(moves);
  let score = rating(moves).score;
  setTimeout(function () {
    gameOver(moves, score);
  },800);
}
另外,由于您使用的是引导模式,因此可以使用
modal('toggle')
来显示/隐藏模式。要使其正常工作,必须按以下顺序包括
popper.js
CDN。但是jquery一个很好用。只是为了你的知识多加一点说明

<script src='https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.1/jquery.min.js'></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>


正如前面的答案所指出的,
$('#myModal').toggle()以显示模式

您没有看到模式,因为触发
gameOver
函数的最终检查与始终为16的
cardList
匹配

if (cardList === match) {
            rating(moves);
            let score = rating(moves).score;
            setTimeout(function () {
                gameOver(moves, score);
            },800);
        } 
检查应针对
totalCard
进行,该值为8,
match
的值在匹配所有卡后也等于8

if (totalCard === match) {
  rating(moves);
  let score = rating(moves).score;
  setTimeout(function () {
    gameOver(moves, score);
  },800);
}
另外,由于您使用的是引导模式,因此可以使用
modal('toggle')
来显示/隐藏模式。要使其正常工作,必须按以下顺序包括
popper.js
CDN。但是jquery一个很好用。只是为了你的知识多加一点说明

<script src='https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.1/jquery.min.js'></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>


谢谢,但在游戏结束后,我的祝贺模式不会弹出。我不知道为什么?因为您的if块似乎是在脚本的根位置调用的。请在游戏结束后执行它,但在游戏结束后,我的祝贺模式不会弹出。我不知道为什么?因为您的if块似乎是在脚本的根位置调用的。请在游戏结束后执行它