js生成算术题

<!doctype html>
<html>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>20以内加减法</title>
    <head>
        <meta charset="utf-8">
        <script>
            var count = 0;
            var con;
 
            function getRandom(num1) {
                return Math.floor(Math.random()*num1);
            }
 
            function getOperator() {
                var arr = ['+', '-', '×', '÷'];
                arr = ['+', '-'];
                return arr[Math.floor(Math.random()*arr.length)];
            }
 
            function validate(num1, op, num2) {
                if (op === '÷' && num2 === 0) return false;
                if (num1%num2 != 0) return false;
                if (op === '-' && num1 < num2) return false;
                 
                return true;
            }
 
            function create() {
                con = document.getElementById("content");
                var num1 = getRandom(20);
                var num2 = getRandom(10);
                var op = getOperator();
                var opTemp = op;
                if (op === '×') opTemp = '*';
                if (op === '÷') opTemp = '/';
                var answer = eval(num1 + (opTemp) + num2);
                 
                if(!validate(num1, op, num2)) return;
                 
                var str = num1 + " " + op + " " + num2 + " =" + " " + "<input type='text' style='width:80px;'/>";
                var newNode = document.createElement("div");
                newNode.className = "sss";
                newNode.setAttribute('data-answer', answer);
                newNode.style.width = "10px;";
                newNode.innerHTML = str;
                con.appendChild(newNode);
                 
                count ++;
            }
 
            function load() {
                while (count < 20) {
                    create();
                }
            }
             
            function getAnswer() {
                for (var i = 0, c = con.childNodes; i < c.length; i ++) {
                    if (c[i].className != 'sss') continue;
                 
                    var input = document.getElementsByTagName('input')[i-1];
                    var value = input.value;
                    if (c[i].getAttribute('data-answer') == value) {
                        <!--input.style.backgroundColor = "green";-->
                    } else {
                        input.style.backgroundColor = "red";
                    }
                }
            }

            var showtime = function () {
                var nowtime = new Date(),  //获取当前时间
                    endtime = new Date("2020/8/8");  //定义结束时间
                var lefttime = endtime.getTime() - nowtime.getTime(),  //距离结束时间的毫秒数
                    leftd = Math.floor(lefttime/(1000*60*60*24)),  //计算天数
                    lefth = Math.floor(lefttime/(1000*60*60)%24),  //计算小时数
                    leftm = Math.floor(lefttime/(1000*60)%60),  //计算分钟数
                    lefts = Math.floor(lefttime/1000%60);  //计算秒数
                return leftd + "天" + lefth + ":" + leftm + ":" + lefts;  //返回倒计时的字符串
            }
         
           function formatSeconds(value) {
           
               var theTime = parseInt(value);// 秒
               var middle= 0;// 分
               var hour= 0;// 小时
           
               if(theTime > 60) {
                   middle= parseInt(theTime/60);
                   theTime = parseInt(theTime%60);
                   if(middle> 60) {
                       hour= parseInt(middle/60);
                       middle= parseInt(middle%60);
                   }
               }
               var result = ""+parseInt(theTime)+"秒";
               if(middle > 0) {
                   result = ""+parseInt(middle)+"分"+result;
               }
               if(hour> 0) {
                   result = ""+parseInt(hour)+"小时"+result;
               }
               return result;
           }

          function resc()
          {
           var myname=prompt("请输入1");
           if(myname==1)
           {
           location=location;
           }
           else
           {
           
           }
          }

        </script>
    </head>
    <body οnlοad="load();">
         <div style="width:600px;float:right">计时:<div id="showtime1" style="width:200px">1</div></div>
<div id="showtime" style="width:200px;display:none"></div>

        <div id="content">
        </div>
        <div>
            <button οnclick="getAnswer();">提交</button>
            <button οnclick="resc()">重置</button>
        </div>
    </body>

<script>
        var div1 = document.getElementById("showtime1");
var div = document.getElementById("showtime");
            setInterval (function () {
var time=Math.floor(div.innerText)+1;
                div1.innerHTML = formatSeconds(time);
div.innerHTML = time;
            }, 1000);
</script>
</html>


版权声明:本文为rugaxm原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。