作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这里是自学成才的新手 JS 程序员。我正在尝试通过制作一个基本的加法游戏来练习我学到的东西。它现在不是非常光滑,但我只是想降低基本功能。
我现在要做的就是在用户正确回答后不断生成问题(无需刷新页面)。而且它仅在第一次出现时有效。
首先,我创建了一个函数来生成我可以计算的随机数并将它们放在页面上。 Click here to see the jsfiddle I made
// GENERATE AND INSERT NUMBERS
function getRandomInt (min, max) { return Math.floor(Math.random() * (max - min + 1)) + min;
}
function Operation() {
var self = this;
var $numberOne = getRandomInt(0,20);
var $numberTwo = getRandomInt(0,20);
$numberHolderOne.html($numberOne);
$numberHolderTwo.html($numberTwo);
self.quest = $numberOne + $numberTwo;
self.solution = eval (self.quest);
}
Operation();
然后我进行评估,我想提醒用户他们是对的、错的还是没有输入有效字符。如果用户是对的,我想在页面上提出一个新问题。
//EXECUTE ON CLICK
$goButton.on('click', function(e) {
e.preventDefault();
var myAnswer = $('input:text').val();
if (myAnswer == self.solution) {
alert( "You did it!" );
new Operation();
}
else if (isNaN(myAnswer)) {
alert("Numbers Only yo!");
}
else {
alert("Try Again Please");
}
});
就像我说的那样有效! ...有点。只要您只提交第一个问题的正确答案,它就会生成新问题。为什么?我的意思是,我正在运行一个新函数,这些变量是在该函数中定义的。有什么我想念的吗?这是范围问题吗?
最佳答案
您已经创建了 block 本地的变量 self,请使其可供您为 go 按钮编写的函数访问。
我已经编辑了 fiddle ,请引用这个链接:js fiddle link
关于javascript - 基本 Javascript/jQuery 数学游戏 : Why can't I evaluate the second time I run this function?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29138096/
我是一名优秀的程序员,十分优秀!