我正在尝试为孩子们制作一个练习数学的脚本。我设法制作+, - ,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();
提前谢谢你。 马特
答案 0 :(得分:0)
如果a可以被2
整除,那么你的脚本似乎有效。您可以检查是否属于这种情况,如果不是,只需将1
添加到。
这对孩子们来说似乎很无聊:D
如何选择一个随机数(只有一个)
例如b = 3
然后你可以将它乘以一个随机数(你可能希望减小范围,以便乘法在范围内)。
然后只说你的结果为a
,然后你就要求a/b
。
示例强>
b = randomNumber()
a = b*randomNumber() # adjusting the range
然后就像通常要求a/b