zoukankan      html  css  js  c++  java
  • jQuery学习-打字游戏

    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
        <title></title>
        <style type="text/css">
            #div1{
                300px;
                height:300px;
                background-color:#691e1e;
            }
            .char {
                 20px;
                height: 20px;
                position: absolute;
                font: 40px;
            }  
        </style>
    </head>
    <body onkeypress="keyCode(event)">
        <script src="jquery-3.1.1.min.js"></script>
        <script type="text/javascript">
            var off_x;   //横坐标
            var count = 0;   //总分
            var speed = 5000;  //速度,默认是5秒.
            var keyRight = 0;   //输入正确的次数  
            var keyErro = 0;   //输入错误次数  
    
            //组织字母
            var charArray = new Array("A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z");
    
            var colorBox = function () {
                Color = []; //用数组存放颜色的样式
                Color[0] = "#ff2211";
                Color[1] = "#ff3311";
                Color[2] = "#ff5511";
                Color[3] = "#ff8811";
                Color[4] = "#ffBB99";
                Color[5] = "#1ff4f1";
                Color[6] = "#ff5566";
                Color[7] = "#668899";
                Color[8] = "#99BBfA";
                Color[9] = "#fECECC";
                return Color[parseInt(Math.random() * 10)];   //随机生颜色.
            }
            //按键码数组
            var arrCode = new Array();
            for (var i = 65; i <= 90; i++) {
                arrCode[i - 65] = i;
            }
            //随机生产一个字母
            var randomChar = function () {
                off_x = Math.random() * 300 + 5;    //在div横坐标
                //off_y=Math.random()*500-10;     //在div纵坐标
                var c = charArray[parseInt(Math.random() * 25)];  //随机生成一个字母
                var charHtml = "  <div class='char' id='" + c + "' style='left: " + off_x + "px;color:" + colorBox() + "'>" + c + "</div>";
                $("#div1").append(charHtml);
            };
    
            //每隔三秒就调用些方法生产字母
            function accrueChar() {
                //把随机出来的放在动画队列里
                var _sildeFun = [
                    //把要执行的动画依次放入一个数组里
                function () {//自定义动画
                    $('#div1 div').animate({
                        top: '+=280px'
                    }, speed, function () {
                        //当动画执行完时,就删除,分数减10
                        $(this).remove();
                        count -= 10;
                        $("input[type='text']").attr({ "value": count });
                    });
                }
                ];
                //将函数组放入slideList队列名的动画队列里
                $("#div1").queue('slideList', _sildeFun);
                var _takeStart = function () {
                    //从队列最前端移除一个队列函数,并执行他。
                    $("#div1").dequeue("slideList");
                };
    
                function randCharHandle() {
                    randomChar();//调用生成(随机生产字母)函数
                    _takeStart();
    
                }
                randCharHandle();
            }
    
            //健码的处理
            function keyCode(event) {
                var keyValue = event.keyCode;//得到键值
                var flag = false;
                //alert(keyValue);
                for (var i = 0; i <= arrCode.length; i++) {
                    if (keyValue == arrCode[i] && $("#" + charArray[i] + "").text() != "") {
                        //选对后停止一秒,然后删除字母  
                        $("#" + charArray[i] + "").stop(1000).remove();
                        //选对就加10分  
                        count += 10;
                        $("input[type='text']").attr({ "value": count });
                        $("#right").text(keyRight);
    
                        flag = true;
                        break;
                    }
                }
                if (flag) {
                    flag = false;
                    keyRight++;
                    $("#right").text(keyRight);
    
                } else {
                    keyErro++;
                    $("#erro").text(keyErro);
                }
            }
            $(function () {
                $("#but").click(function () {
                    window.setInterval("accrueChar()", 1500);
                })
            })
        </script>
        <div id="div1">
    
        </div>
        <br>总数:<input type="text" readonly="readonly">
        <br>错误次数:<label id="erro"></label>
        <br>正确次数:<label id="right"></label>
        <button id="but">开始</button>
    </body>
    
    </html>
  • 相关阅读:
    Spring Aop
    Java 内存分配
    wrapper class (Integer 为例)
    asp.net mvc 中"未找到路径“/favicon.ico”的控制器或该控制器未实现 IController。"
    .Net反射机制
    设计模式系列一创建型之(抽象工厂模式)
    设计模式系列一创建型之(单件模式)
    设计模式系列二结构型之(装饰者模式)
    设计模式系列二结构型之(策略者模式)
    设计模式系列一创建型模式之(简单工厂VS工厂方法)
  • 原文地址:https://www.cnblogs.com/wugu-ren/p/6016019.html
Copyright © 2011-2022 走看看