gpt4 book ai didi

javascript - Bootstrap 4 Modal 弹出窗口无法关闭

转载 作者:太空宇宙 更新时间:2023-11-04 01:06:55 24 4
gpt4 key购买 nike

我做了一个关于匹配游戏的元素。在所有卡片匹配和游戏结束后,会弹出一个祝贺模式。但是我无法知道为什么它在单击再次播放按钮后没有关闭。

这是模态窗口的 index.html

<!--Add Bootstrap Modal Alert Window-->
<div class="modal" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModal-label" aria-hidden="true">
<div class="modal-dialog">
<!--Modal Content-->
<div class="modal-content">

<!--Modal Header-->
<div class="modal-header">
<h4 class="modal-title" id="myModal-label">Congratulations!!!</h4>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>

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

<!--Modal Footer-->
<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> <!--modal footer-->
</div> <!--modal-content-->
</div> <!--modal-dialog-->
</div> <!--modal-->

和 Modal 的 javascript:

function gameOver(moves, score) {
$('#myText').text(`Time: ${second} Seconds, Your Move: ${moves} Moves, Total
Score: ${score}, Well done!!!`);
$('#myModal').toggle();
}

if (totalCard === match) {
rating(moves);
let score = rating(moves).score;
setTimeout(function () {
gameOver(moves, score);
},800);
}

这是我的匹配游戏元素的链接:

https://codepen.io/sofianayak55/pen/wEBvvJ

最佳答案

您正在加载 jQuery 之前的 Bootstrap 库...

 <!--Add jQuery-->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>
<script src='https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.1/jquery.min.js'></script>
<script src="js/app.js"></script>

颠倒这两个的顺序。;)

这在 console 中造成了以下错误:

Uncaught TypeError: Cannot read property 'fn' of undefined
at util.js:68
at util.js:10
at bootstrap.min.js:6
at bootstrap.min.js:6

我在 15 步 34 秒内完成了游戏。 ;)


编辑
JS 中的第 118 行是问题所在。您使用了 $('#myModal').toggle()(在游戏结束时打开它)。

我用 $('#myModal').modal("show"); 替换了 id。 data-dismiss 需要使用 modal() 方法显示模态。 .toggle() 是显示/隐藏元素的 jQuery 方法。因此,由于 Bootstrap 不知道模式已显示,因此 dismiss 不起作用。

这是您的 CodePen updated .

我在你的服务器上评论了几个本地资源......但在 CodePen 中是 404......所以如果你从它复制/粘贴请注意。

关于javascript - Bootstrap 4 Modal 弹出窗口无法关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51998559/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com