Javascript如何使循环显示十分区计算而不提醒

时间:2017-10-29 19:05:15

标签: javascript

我正在尝试为孩子们制作一个练习数学的脚本。我设法制作+, - ,x但不能完成分裂。项目可以在这里看到: http://fibeeland.com/projects/math_tasks/index.html

我从输入中获取随机数并生成任务。如何进行除法计算,只显示没有提醒的示例?

我的功能如下:

//get a random number
function randomNumber(){
    var minNumberId = document.getElementById("minNrId");
    var xx=minNumberId.value;
    var maxNumberId = document.getElementById("maxNrId");                       
    var yy=maxNumberId.value;    
    var min = Math.ceil(xx);
    var max = Math.floor(yy);
    var randNr1 = Math.floor(Math.random() * (max - min + 1)) + min;
    return randNr1;
}

function division(min,max,tasks){
    document.getElementById('division_loop').innerHTML = " ";
    var tasks_quantity = document.getElementById("tasks_quantity");
    var tasks = tasks_quantity.value;

        for (i=0; i < tasks; i++){
            var a = randomNumber();
            var b = randomNumber();

            if((a%b)===0){
                document.getElementById('division_loop').innerHTML += "<p><span class='task_punctuation'>" + (i+1) + ". </span>" + a + " / " + b +" = <input type='text' class='answerInput' id='" + (a/b) + "'></p>";
            } else{
                b = 2;
                document.getElementById('division_loop').innerHTML += "<p><span class='task_punctuation'>" + (i+1) + ". </span>" + a + " / " + b +" = <input type='text' class='answerInput' id='" + (a/b) + "'></p>";
            }



        }
    $(".answerInput").keyup(function() {
        var InputID = this.id;
        value = $(this).val();
        //change to lower case
        var InputIDlow = InputID.toLowerCase();
        var valuelow = value.toLowerCase();
        if(valuelow==InputIDlow){
            $(this).css('background-color', '#bcffb9');
        }
        else{
            $(this).css('background-color', '#dbdbf4');
        }
    }); 

    }

division();

提前谢谢你。 马特

1 个答案:

答案 0 :(得分:0)

如果a可以被2整除,那么你的脚本似乎有效。您可以检查是否属于这种情况,如果不是,只需将1添加到。

这对孩子们来说似乎很无聊:D

如何选择一个随机数(只有一个) 例如b = 3

然后你可以将它乘以一个随机数(你可能希望减小范围,以便乘法在范围内)。

然后只说你的结果为a,然后你就要求a/b

示例

b = randomNumber()
a = b*randomNumber() # adjusting the range

然后就像通常要求a/b

一样