根据条件将函数放入数组中(如果选中复选框)
Putting functions in an array based on a condition (if checkbox is checked)
我还在玩数学游戏。它现在生成随机的加法、减法、乘法和除法问题。我所做的是为每种类型的数学运算创建函数,并将其放入一个数组中,然后我有另一个函数从该数组中获得一个随机函数。它起作用了!(如果问题没有出现,请单击"返回选项"按钮,然后再次单击"点击播放"按钮)点击此处查看。
//function definitions (See line 116 of jsFiddle link)
var operatorFunctions = [additionQuest,
subtractionQuest,
multiplicationQuest,
divisionQuest];
//Array randomizer
function randomFrom(array) {return array[Math.floor(Math.random() * array.length)];}
function randomOp() {
var func = randomFrom(operatorFunctions);
(func)();
}
但现在我想让用户根据他们在开始屏幕上选择的内容,选择他们想练习的问题(操作员)。我的想法是,如果复选框被选中,那么它对应的函数将被推送到operatorFunctions数组中。
var operatorFunctions = []
// Code below is wrapped in a function that is executed on start button click
if ($('#allowAddition').is(':checked')) {
allowAdd = true;
} else {
allowAdd = false;
}
if (allowAdd == true) {
operatorFunctions.push(additionQuest);
return operatorFunctions;
}
但这根本不起作用!你们看到我的逻辑有什么明显的缺陷吗?我觉得这是一个范围的事情。。。?
此外,我的divisionQuest函数不是100%正确的,有时第一个问题没有初始化。此外,我似乎在不该回答的时候反复遇到同样的问题。(在第49行的第一个jsFiddle上注释数组外的其他运算符函数,以查看这些问题。)你们看到这个函数有什么问题吗?
function divisionQuest() {
var self = this;
var $numberOne = getRandomInt(0,rangeMax);
var $numberTwo = getRandomInt(1,rangeMax); //Divisor cannot be zero
//This makes sure the a function produces a question whose answer is a whole number
while ($numberOne % $numberTwo != 0) {
$numberOne = getRandomInt(0,rangeMax);
$numberTwo = getRandomInt(1,rangeMax)
return $numberOne, $numberTwo;
}
self.quest = $numberOne / $numberTwo;
self.formatquest = $numberOne + " ÷ " + $numberTwo; //Tidy it up a bit
$questionHolder.html(self.formatquest);
$questionHolder.hide().fadeIn(600);
}
试试这个:http://jsfiddle.net/rezashamdani/nz2cqja8/
<input type="checkbox" name="chooseOp" id="allowAddition" value="+" />Addition
中的id错误和通知行:43,65-97
相关文章:
- setIntervall如果复选框被选中,JS
- 按钮未启用,如果复选框处于打开状态
- 如果复选框未选中且文本字段不为空,则显示警报
- 单击标签,如果复选框道具检查为真
- 量角器如果(复选框.isSelected())错误
- 如果复选框被禁用,则通过表中的一行
- 如果复选框未选中,则阻止表单提交
- 如果复选框未选中,则禁用表单提交
- jQuery如果复选框被选中来切换类
- 如果复选框的值被更改,则为其添加一个类
- 如果复选框被选中,则在多个表中插入数据
- JS -不能检查如果复选框被选中
- 如果复选框被选中,则包含变量
- 如果复选框被选中,Javascript会减去输入字段的值
- 如果复选框被选中,则启用EditorFor
- 如果复选框被选中,只允许链接被点击
- 如果复选框被选中,则在Facebook墙上发布消息
- JavaScript如果复选框被选中不工作
- 如果复选框默认选中,setInterval并做一些事情,如果未选中则clearInterval
- Jquery如果复选框被选中,启动开关