jQuery综合案例——打地鼠(教学版本·附源码)

举报
红目香薰 发表于 2022/01/30 14:02:18 2022/01/30
【摘要】 ​ jQuery综合案例——打地鼠非常经典的案例,完整的训练【jQuery】并且针对【setInterval】与【setTimeout】有一个实质性的训练,学习价值超高,建议教师与学生下载,并用于教学与学习过程当中。下载地址:【jQuery案例_打地鼠_可用于教学(源码,带音乐与图片).rar-HTML5文档类资源-CSDN下载】目录jQuery综合案例——打地鼠使用指南:使用指南:如果没有...

 jQuery综合案例——打地鼠

非常经典的案例,完整的训练【jQuery】并且针对【setInterval】与【setTimeout】有一个实质性的训练,学习价值超高,建议教师与学生下载,并用于教学与学习过程当中。

下载地址:【jQuery案例_打地鼠_可用于教学(源码,带音乐与图片).rar-HTML5文档类资源-CSDN下载

目录

jQuery综合案例——打地鼠

使用指南:


使用指南:

如果没有图片,保存图片改名即可。

图片:【00.jpg】

<td><img src="res/00.jpg" onclick="killIt(this)" /></td>

图片:【01.jpg】

function show_mouse() {
    //生成0-24
    var i = Math.floor(Math.random() * 25);
    $("#tab img")[i].src = "./res/01.jpg";
    //这里使用setTimeout
    setTimeout("hide_mouse_fun(" + i + ")", stopTime);
}

图片:【02.jpg】


function killIt(o) {
    var name = o.src.substr(o.src.length - 6, 2);
    if (name == "01") {
        o.src = "./res/02.jpg";
        sum += 100;
        $("#sum").text(sum);
    }
}

图片:【bg.jpg】

body {
    overflow: hidden;
    background-image: url("./res/bg.png");
    width: 100%;
    height: 100vh;
    background-size: 80%;
    background-repeat: no-repeat;
    background-position: 50%;
}

背景音乐自己改成本地就行:【bgsound.MP3】

<script>
    var mp3 = new Audio("./res/bgsound.MP3");
    mp3.addEventListener("ended", function() {
        mp3.play();
    });
    mp3.play();
</script>

整体效果图:

代码正文:

<!DOCTYPE html>
<html>

<head>
    <meta charset="UTF-8">
    <title>打地鼠</title>
    <script src="https://code.jquery.com/jquery-3.4.0.min.js"></script>
    <script>
        var mp3 = new Audio("./res/bgsound.MP31");
        mp3.addEventListener("ended", function() {
            mp3.play();
        });
        mp3.play();
    </script>
    <style>
        body {
            overflow: hidden;
            background-image: url("./res/bg.png");
            width: 100%;
            height: 100vh;
            background-size: 80%;
            background-repeat: no-repeat;
            background-position: 50%;
        }
        
        td img {
            width: 60px;
            height: 60px;
        }
        
        #tab {
            position: relative;
            top: 40%;
            left: 30%;
        }
        
        #tabInfo {
            position: relative;
            top: 5%;
            left: 60%;
        }
        
        .info {
            text-align: center;
            width: 60px;
        }
    </style>
</head>

<body>
    <table id="tabInfo">
        <tr>
            <td>倒计时:</td>
            <td><input type="text" id="times" value="60" class="info" />s</td>
        </tr>
        <tr>
            <td>出现时间</td>
            <td>
                <input type="text" id="changeTime" value="1" class="info">s
            </td>
        </tr>
        <tr>
            <td>停留时间</td>
            <td>
                <input type="text" id="stopTime" value="1" class="info">s
            </td>
        </tr>
        <tr>
            <td>得分</td>
            <td><span id="sum">0分</span></td>
        </tr>
        <tr>
            <td>
                <button onclick="startGame()">开始游戏</button>
            </td>
            <td><button onclick="stopGame()">停止游戏</button></td>
        </tr>
    </table>
    <table cellpadding="0" cellspacing="5" id="tab">
        <tr>
            <td><img src="res/00.jpg" onclick="killIt(this)" /></td>
            <td><img src="res/00.jpg" onclick="killIt(this)" /></td>
            <td><img src="res/00.jpg" onclick="killIt(this)" /></td>
            <td><img src="res/00.jpg" onclick="killIt(this)" /></td>
            <td><img src="res/00.jpg" onclick="killIt(this)" /></td>
        </tr>
        <tr>
            <td><img src="res/00.jpg" onclick="killIt(this)" /></td>
            <td><img src="res/00.jpg" onclick="killIt(this)" /></td>
            <td><img src="res/00.jpg" onclick="killIt(this)" /></td>
            <td><img src="res/00.jpg" onclick="killIt(this)" /></td>
            <td><img src="res/00.jpg" onclick="killIt(this)" /></td>
        </tr>
        <tr>
            <td><img src="res/00.jpg" onclick="killIt(this)" /></td>
            <td><img src="res/00.jpg" onclick="killIt(this)" /></td>
            <td><img src="res/00.jpg" onclick="killIt(this)" /></td>
            <td><img src="res/00.jpg" onclick="killIt(this)" /></td>
            <td><img src="res/00.jpg" onclick="killIt(this)" /></td>
        </tr>
        <tr>
            <td><img src="res/00.jpg" onclick="killIt(this)" /></td>
            <td><img src="res/00.jpg" onclick="killIt(this)" /></td>
            <td><img src="res/00.jpg" onclick="killIt(this)" /></td>
            <td><img src="res/00.jpg" onclick="killIt(this)" /></td>
            <td><img src="res/00.jpg" onclick="killIt(this)" /></td>
        </tr>
        <tr>
            <td><img src="res/00.jpg" onclick="killIt(this)" /></td>
            <td><img src="res/00.jpg" onclick="killIt(this)" /></td>
            <td><img src="res/00.jpg" onclick="killIt(this)" /></td>
            <td><img src="res/00.jpg" onclick="killIt(this)" /></td>
            <td><img src="res/00.jpg" onclick="killIt(this)" /></td>
        </tr>
    </table>
    <script>
        //全局变量
        var times = 60;
        //间隔时间
        var changeTime = 0;
        //停留时间
        var stopTime = 0;
        //累计分数
        var sum = 0;
        //停止游戏
        var voerGame;
        //显示地鼠
        var clear_show_mouse;

        function init() {
            changeTime = $("#changeTime").val() * 1000;
            stopTime = $("#stopTime").val() * 1000;
            times = $("#times").val();
            sum = 0;
            $("#sum").text(sum);
        }

        function startGame() {
            init();
            $("#changeTime").attr("disabled", "false");
            $("#stopTime").attr("disabled", "false");
            $("#times").attr("disabled", "false");
            voerGame = setInterval("calcTime()", 1000);
            clear_show_mouse = setInterval("show_mouse()", changeTime);
        }

        function calcTime() {
            times -= 1;
            $("#times").val(times);
            if (times <= 0) {
                stopGame();
            }
        }

        function stopGame() {
            clearInterval(voerGame);
            clearInterval(clear_show_mouse);
            times = 60;
            $("#times").val(times);
            $("#changeTime").removeAttr("disabled");
            $("#stopTime").removeAttr("disabled");
            $("#times").removeAttr("disabled");
            for (i = 0; i < 25; i++) {
                $("#tab img")[i].src = "./res/00.jpg"
            }
        }

        function show_mouse() {
            //生成0-24
            var i = Math.floor(Math.random() * 25);
            $("#tab img")[i].src = "./res/01.jpg";
            //这里使用setTimeout
            setTimeout("hide_mouse_fun(" + i + ")", stopTime);
        }

        function hide_mouse_fun(i) {
            $("#tab img")[i].src = "./res/00.jpg";
        }

        function killIt(o) {
            var name = o.src.substr(o.src.length - 6, 2);
            if (name == "01") {
                sum += 100;
                $("#sum").text(sum);
            }
        }
    </script>
</body>

</html>


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。