qq_19701837 2019-10-07 13:57 采纳率: 70%
浏览 321
已采纳

网页设计,在IE浏览器上可以正常输入,但其他浏览器上无法正常使用输入栏。大神们帮忙看看,马上要交的作业,急。

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>小学数学练习</title>
        <style type="text/css">
        #big_frame{
        line-height:45px;
        vertical-align:middle;
        margin:40px auto;
        }
        #frame1{
        border-width:1px;
        border-style:solid;
        border-color;#a16c;
        width:544px;
        height:50px;
        }
        #frame1 div{
        border-width:1px;
        border-style:solid;
        border-color;#a16c;
        border-top:none;
        border-bottom:none;
        border-left:none;
        width:108px;
        height:50px;
        float:left;
        line-height:45px;
        vertical-align:middle;
        background-color: skyblue;
        }
        #frame2{
        border-width:1px;
        border-style:solid;
        border-color:black;
        background-color:lightblue;
        width:544px;
        display:none;
        border-top:none;
        }
        #result_inp{
            background-color: skyblue;
        }
        #frame3{
        border-width:1px;
        border-style:solid;
        border-color;#a16c;
        border-top:none;
        width:544px;
        height:50px;
        background-color:whitesmoke;
        line-height:45px;
        }   
        #frame3 button{
        float:center;
        width:110px;
        height:30px;
        border-radius:20px;
        border-color: lightblue;
        line-height:20px;
        vertical-align:middle;
        background-color: skyblue;
        } div#div1{ 
position:fixed; 
top:0; 
left:0; 
bottom:0; 
right:0; 
z-index:-1; 
} 
div#div1 > img { 
height:100%; 
width:100%; 
border:0; 
}
    }
        </style>

        <script>
        var left_num;
        var op;
        var right_num;
        var result;

        var count;
        var remain;
        var i=1;
        var sign;
        var answer;
        var tanswer = 0;
        onload = function(){
            left_num = document.getElementById("left_num");
            op = document.getElementById("op");
            right_num = document.getElementById("right_num");
            result = document.getElementById("result");

        }
            function join(){
                tanswer = 0;
                i = 1;
                document.getElementById("result_inp").disabled = false;
                document.getElementById("result_inp").readOnly = false ;
                result_inp.value = " ";
                document.getElementById("frame2").innerHTML = " ";
                frame2.style.display = "none";
            var temp = Number(prompt("你想在这练习几道题?",""))
            if(!temp){
                alert("你输入的操作不正确")
            }
            else{
                count = temp;
                remain = count;
                join_btn.disabled = true;
                start_btn.disabled = null;
            }
        }
            function start(){
                start_btn.disabled = true;
                creatQuestion() 
                document.getElementById("left_num").innerHTML=left_num ;
                document.getElementById("right_num").innerHTML=  right_num  ;
                document.getElementById("op").innerHTML=  sign  ;
                result_inp.focus();
            }
            function creatQuestion(){
                op = Math.floor(Math.random()*4);
                switch(op)
                {
                case 0:
                    sign = " + ";
                    left_num= Math.floor(10+Math.random()*90);
                    right_num = Math.floor(10+Math.random()*90);

                    answer = eval(left_num + right_num);
                    break;
                case 1:
                    sign = " - ";
                    right_num = Math.floor(10+Math.random()*90);
                    left_num=right_num + Math.floor(10+Math.random()*90);

                    answer = eval(left_num - right_num);
                    break;
                case 2:
                    sign = " ×";
                    left_num = Math.floor(10+Math.random()*90);
                    right_num = Math.floor(10+Math.random()*90);

                    answer = eval(left_num * right_num);
                    break;
                case 3:
                    sign = " ÷";
                    right_num= Math.floor(10+Math.random()*90);
                    left_num = right_num * Math.floor(1+Math.random()*10);

                    answer = eval(left_num / right_num);
                    break;
                    }

                }
            function inp(){
                var code=event.keyCode;
                var you_answer = result_inp.value ;

                document.getElementById("result_inp").readOnly = false;
                var signtf;

                if ((code < 48 && code != 13) || (code > 57 && code <96) || code > 105 ){
                    result_inp.value =result_inp.value.substring(0,result_inp.value.length-1);
                    }

                else if(code == 13){
                    if(answer == you_answer)
                    { signtf = "真棒!你做对啦!";tanswer += 1;}
                    else
                    { signtf = "做错啦,是不是粗心啦?";}
                     tanswer += 1;document.getElementById("frame2").innerHTML += "第" + i  +"题:" +signtf + "  ,正确答案:" + answer + ", 你的答案:  " + you_answer +" <br / >"; 
                    i = i +1;
                    result_inp.value = "";
                    remain--;
                    if(remain != 0){
                    creatQuestion();
                    document.getElementById("left_num").innerHTML=""+left_num+"" ;
                    document.getElementById("right_num").innerHTML= ""+ right_num +"" ;
                    document.getElementById("op").innerHTML= ""+ sign +"" ;


                    }
                    else{

                        result_inp.value="已完成";
                        document.getElementById("result_inp").readOnly = "true" ;
                        show_btn.disabled = null;

                        var grade;
                        grade = Math.floor(tanswer / count * 100);
                        document.getElementById("frame2").innerHTML += "满分为一百,你得到的分数为:" + grade + "分" + " <br / > 小朋友再接再厉哦!";
                        document.getElementById("result_inp").disabled = "true";


                    }

                }       
            }
            function compute(){
            frame2.style.display = "block";
            show_btn.disabled = true;
            join_btn.disabled = null;
            }
        </script>
    </head>
    <body >
        <div id="div1"><img src="111.jpg" /></div>
        <div id="big_frame" align="center">
            <div id="frame1">
                <div id="left_num"></div>
                <div id="op"></div>
                <div id="right_num"></div>
                <div >=</div>
                <div id="result" style="border-right:none">
                    <input  id= "result_inp" type="text"   style="width:106px;height:47px; border: 0;" value="" readonly  onkeyup="inp()" >
                </div>
            </div>
            <div id="frame2">

            </div>
            <div id="frame3" >
                <button id="join_btn" onclick="join()"  >参加测试</button>
                <button id= "start_btn"  disabled  onclick="start()" >开始出题</button>
                <button id= "show_btn" disabled onclick="compute()">显示结果</button>
            </div>
        </div>
    </body>
</html>
  • 写回答

4条回答 默认 最新

  • 天际的海浪 2019-10-07 15:55
    关注

    event对象没有做兼容性处理

                function inp(){
                    var event = arguments.callee.caller.arguments[0] || window.event;
                    var code= event.which || event.keyCode;
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 用matlab 设计一个不动点迭代法求解非线性方程组的代码
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机
  • ¥20 程序进入HardFault_Handler
  • ¥15 oracle集群安装出bug