前端双色球用模态框选球和中奖提示代码

时间: 2023-11-22 15:54:54 浏览: 77
以下是一个简单的前端双色球选球和中奖提示的示例代码,使用了Bootstrap框架的模态框组件: HTML代码: ```html <!DOCTYPE html> <html> <head> <title>双色球选球</title> <!-- 引入Bootstrap CSS --> <link rel="stylesheet" href="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/4.6.0/css/bootstrap.min.css"> </head> <body> <div class="container mt-5"> <h1 class="text-center">双色球选球</h1> <div class="row justify-content-center"> <button class="btn btn-primary mr-2" data-toggle="modal" data-target="#ballModal">选择红球</button> <button class="btn btn-primary" data-toggle="modal" data-target="#ballModal" data-ball-type="blue">选择蓝球</button> </div> <div class="row justify-content-center mt-3"> <button class="btn btn-success" id="checkBtn">查看中奖结果</button> </div> </div> <!-- 球号选择模态框 --> <div class="modal fade" id="ballModal" tabindex="-1" role="dialog" aria-labelledby="ballModalLabel" aria-hidden="true"> <div class="modal-dialog modal-dialog-centered" role="document"> <div class="modal-content"> <div class="modal-header"> <h5 class="modal-title" id="ballModalLabel">请选择球号</h5> <button type="button" class="close" data-dismiss="modal" aria-label="Close"> <span aria-hidden="true">&times;</span> </button> </div> <div class="modal-body"> <div class="row"> <!-- 生成33个红球 --> <div class="col-12 mb-3"> <h4>红球</h4> <div class="btn-group btn-group-toggle" data-toggle="buttons"> <?php for ($i = 1; $i <= 33; $i++): ?> <label class="btn btn-outline-secondary ball-btn"> <input type="checkbox" autocomplete="off" value="<?= $i ?>"> <?= $i ?> </label> <?php endfor; ?> </div> </div> <!-- 生成16个蓝球 --> <div class="col-12"> <h4>蓝球</h4> <div class="btn-group btn-group-toggle" data-toggle="buttons"> <?php for ($i = 1; $i <= 16; $i++): ?> <label class="btn btn-outline-secondary ball-btn"> <input type="checkbox" autocomplete="off" value="<?= $i ?>"> <?= $i ?> </label> <?php endfor; ?> </div> </div> </div> </div> <div class="modal-footer"> <button type="button" class="btn btn-secondary" data-dismiss="modal">关闭</button> <button type="button" class="btn btn-primary" data-dismiss="modal">确定</button> </div> </div> </div> </div> <!-- 中奖结果模态框 --> <div class="modal fade" id="resultModal" tabindex="-1" role="dialog" aria-labelledby="resultModalLabel" aria-hidden="true"> <div class="modal-dialog modal-dialog-centered" role="document"> <div class="modal-content"> <div class="modal-header"> <h5 class="modal-title" id="resultModalLabel">中奖结果</h5> <button type="button" class="close" data-dismiss="modal" aria-label="Close"> <span aria-hidden="true">&times;</span> </button> </div> <div class="modal-body" id="resultBody"> <p>请先选择球号并点击“查看中奖结果”按钮。</p> </div> <div class="modal-footer"> <button type="button" class="btn btn-secondary" data-dismiss="modal">关闭</button> </div> </div> </div> </div> <!-- 引入jQuery和Bootstrap JS --> <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.slim.min.js"></script> <script src="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/4.6.0/js/bootstrap.bundle.min.js"></script> <script src="js/main.js"></script> </body> </html> ``` JS代码: ```javascript // 定义数组变量存储选中的球号 var redBalls = []; var blueBalls = []; // 点击选择球号按钮时,设置模态框标题和提交按钮类型(红球或蓝球) $('.btn[data-toggle="modal"]').on('click', function() { var ballType = $(this).data('ball-type'); var modalTitle = ballType == 'blue' ? '请选择蓝球' : '请选择红球'; var submitBtnText = ballType == 'blue' ? '选择蓝球' : '选择红球'; $('#ballModalLabel').text(modalTitle); $('.btn-primary[data-dismiss="modal"]').text(submitBtnText).data('ball-type', ballType); // 清空选中的球号 if (ballType == 'blue') { blueBalls = []; } else { redBalls = []; } $('.ball-btn.active').removeClass('active'); }); // 点击模态框提交按钮时,获取选中的球号并存储到数组变量中 $('.btn-primary[data-dismiss="modal"]').on('click', function() { var ballType = $(this).data('ball-type'); var ballArr = ballType == 'blue' ? blueBalls : redBalls; $('.ball-btn.active').each(function() { ballArr.push($(this).find('input').val()); }); }); // 点击查看中奖结果按钮时,判断是否选择了足够的球号 $('#checkBtn').on('click', function() { if (redBalls.length < 6 || blueBalls.length < 1) { $('#resultBody').html('<p>请选择至少6个红球和1个蓝球。</p>'); } else { // 生成随机中奖号码 var winningRedBalls = []; var winningBlueBall = Math.floor(Math.random() * 16) + 1; while (winningRedBalls.length < 6) { var randomRedBall = Math.floor(Math.random() * 33) + 1; if (winningRedBalls.indexOf(randomRedBall) == -1) { winningRedBalls.push(randomRedBall); } } // 计算中奖结果 var redMatchCount = 0; for (var i = 0; i < redBalls.length; i++) { if (winningRedBalls.indexOf(parseInt(redBalls[i])) != -1) { redMatchCount++; } } var blueMatchCount = blueBalls.indexOf(parseInt(winningBlueBall)) != -1 ? 1 : 0; var prizeLevel = ''; if (redMatchCount == 6 && blueMatchCount == 1) { prizeLevel = '一等奖'; } else if (redMatchCount == 6 && blueMatchCount == 0) { prizeLevel = '二等奖'; } else if (redMatchCount == 5 && blueMatchCount == 1) { prizeLevel = '三等奖'; } else if (redMatchCount == 5 && blueMatchCount == 0) { prizeLevel = '四等奖'; } else if (redMatchCount == 4 && blueMatchCount == 1) { prizeLevel = '五等奖'; } else if ((redMatchCount == 4 && blueMatchCount == 0) || (redMatchCount == 3 && blueMatchCount == 1)) { prizeLevel = '六等奖'; } else { prizeLevel = '未中奖'; } // 显示中奖结果 var resultHtml = '<p>中奖号码:' + winningRedBalls.join(' ') + ' + ' + winningBlueBall + '</p>'; resultHtml += '<p>您选的号码:红球 ' + redBalls.join(' ') + ',蓝球 ' + blueBalls[0] + '</p>'; resultHtml += '<p>中奖等级:' + prizeLevel + '</p>'; $('#resultBody').html(resultHtml); } // 显示中奖结果模态框 $('#resultModal').modal('show'); }); // 点击球号按钮时,切换选中状态 $('.ball-btn').on('click', function() { var isChecked = $(this).find('input').prop('checked'); if (isChecked) { $(this).removeClass('active'); } else { var ballType = $(this).closest('.modal-content').find('.btn-primary[data-dismiss="modal"]').data('ball-type'); var ballArr = ballType == 'blue' ? blueBalls : redBalls; if (ballArr.length >= (ballType == 'blue' ? 1 : 6)) { alert('您已选择足够的球号。'); return false; } $(this).addClass('active'); } }); ``` 注意:上述代码中使用了PHP的for循环语句生成了球号选择的HTML代码,如果你不使用PHP,可以手动编写HTML代码。

相关推荐

最新推荐

recommend-type

前端-代码走查模板.docx

前端项目管理中不可少的一个环节就是代码走查。可以很好的约束开发方式,对齐组内开发风格
recommend-type

纯JS前端实现分页代码

因为这是我自己第一次动手用js写分页,写的应该也不是很完美,有些公共的没有抽取出来,但是用起来还是可以的,这块代码是可以把它当做公共的分页去处理的,我就是用这块代码写了两个稍微不同一些的分页!公共的代码...
recommend-type

Delphi+Web前端开发教程基于TMS+WEB+Core框架.pdf

《Delphi Web前端开发教程——基于TMS WEB Core框架》PDF本教程适合对使用Delphi TMS WEB Core 创建 Web 应用程序感兴趣的初学者和高级开发人员。学习本教程只需要免费的 Delphi 社区版以及 TMS WEB Core 的试用版就...
recommend-type

JS获取复选框的值,并传递到后台的实现方法

下面小编就为大家带来一篇JS获取复选框的值,并传递到后台的实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
recommend-type

input:checkbox多选框实现单选效果跟radio一样

checkbox是多选,怎么才能让他变成单选,效果跟radio一样呢,本菜鸟就自己写了个小程序,代码很简单
recommend-type

RTL8188FU-Linux-v5.7.4.2-36687.20200602.tar(20765).gz

REALTEK 8188FTV 8188eus 8188etv linux驱动程序稳定版本, 支持AP,STA 以及AP+STA 共存模式。 稳定支持linux4.0以上内核。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

:YOLOv1目标检测算法:实时目标检测的先驱,开启计算机视觉新篇章

![:YOLOv1目标检测算法:实时目标检测的先驱,开启计算机视觉新篇章](https://img-blog.csdnimg.cn/img_convert/69b98e1a619b1bb3c59cf98f4e397cd2.png) # 1. 目标检测算法概述 目标检测算法是一种计算机视觉技术,用于识别和定位图像或视频中的对象。它在各种应用中至关重要,例如自动驾驶、视频监控和医疗诊断。 目标检测算法通常分为两类:两阶段算法和单阶段算法。两阶段算法,如 R-CNN 和 Fast R-CNN,首先生成候选区域,然后对每个区域进行分类和边界框回归。单阶段算法,如 YOLO 和 SSD,一次性执行检
recommend-type

info-center source defatult

这是一个 Cisco IOS 命令,用于配置 Info Center 默认源。Info Center 是 Cisco 设备的日志记录和报告工具,可以用于收集和查看设备的事件、警报和错误信息。该命令用于配置 Info Center 默认源,即设备的默认日志记录和报告服务器。在命令行界面中输入该命令后,可以使用其他命令来配置默认源的 IP 地址、端口号和协议等参数。
recommend-type

c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf

校园超市商品信息管理系统课程设计旨在帮助学生深入理解程序设计的基础知识,同时锻炼他们的实际操作能力。通过设计和实现一个校园超市商品信息管理系统,学生掌握了如何利用计算机科学与技术知识解决实际问题的能力。在课程设计过程中,学生需要对超市商品和销售员的关系进行有效管理,使系统功能更全面、实用,从而提高用户体验和便利性。 学生在课程设计过程中展现了积极的学习态度和纪律,没有缺勤情况,演示过程流畅且作品具有很强的使用价值。设计报告完整详细,展现了对问题的深入思考和解决能力。在答辩环节中,学生能够自信地回答问题,展示出扎实的专业知识和逻辑思维能力。教师对学生的表现予以肯定,认为学生在课程设计中表现出色,值得称赞。 整个课程设计过程包括平时成绩、报告成绩和演示与答辩成绩三个部分,其中平时表现占比20%,报告成绩占比40%,演示与答辩成绩占比40%。通过这三个部分的综合评定,最终为学生总成绩提供参考。总评分以百分制计算,全面评估学生在课程设计中的各项表现,最终为学生提供综合评价和反馈意见。 通过校园超市商品信息管理系统课程设计,学生不仅提升了对程序设计基础知识的理解与应用能力,同时也增强了团队协作和沟通能力。这一过程旨在培养学生综合运用技术解决问题的能力,为其未来的专业发展打下坚实基础。学生在进行校园超市商品信息管理系统课程设计过程中,不仅获得了理论知识的提升,同时也锻炼了实践能力和创新思维,为其未来的职业发展奠定了坚实基础。 校园超市商品信息管理系统课程设计的目的在于促进学生对程序设计基础知识的深入理解与掌握,同时培养学生解决实际问题的能力。通过对系统功能和用户需求的全面考量,学生设计了一个实用、高效的校园超市商品信息管理系统,为用户提供了更便捷、更高效的管理和使用体验。 综上所述,校园超市商品信息管理系统课程设计是一项旨在提升学生综合能力和实践技能的重要教学活动。通过此次设计,学生不仅深化了对程序设计基础知识的理解,还培养了解决实际问题的能力和团队合作精神。这一过程将为学生未来的专业发展提供坚实基础,使其在实际工作中能够胜任更多挑战。