Javascript 为什么当我在框中输入一个数字并选择“猜测”时,number randomNumber函数会运行
我正在做一个家庭作业来创建一个热/冷应用程序,但是被卡在了提交(猜测)按钮上。我编写了一个名为newGame的函数,因此当您选择新游戏时,randomNumberGenerator函数将运行。但是,如果您在输入框中输入一个数字并选择猜测按钮,它似乎也在运行,但我不知道为什么。下面是我的脚本,以及一个链接,链接到一个js小提琴和整个代码:Javascript 为什么当我在框中输入一个数字并选择“猜测”时,number randomNumber函数会运行,javascript,jquery,Javascript,Jquery,我正在做一个家庭作业来创建一个热/冷应用程序,但是被卡在了提交(猜测)按钮上。我编写了一个名为newGame的函数,因此当您选择新游戏时,randomNumberGenerator函数将运行。但是,如果您在输入框中输入一个数字并选择猜测按钮,它似乎也在运行,但我不知道为什么。下面是我的脚本,以及一个链接,链接到一个js小提琴和整个代码: $(document).ready(function(){ var randomNumber = 0; var userGuess = 0; var gues
$(document).ready(function(){
var randomNumber = 0;
var userGuess = 0;
var guessCount = 0;
//generates number
function randomNumberGenerator() {
randomNumber = Math.floor(Math.floor(Math.random()*100));
console.log("random number= " + randomNumber);
}
randomNumberGenerator();
//starts new game
function newGame(){
guessCount = 0;
randomNumber = (Math.floor(Math.random()*100));
console.log("new number is " + randomNumber);
}
function compareGuess(){
if (userGuess == randomNumber) {
$('#feedack').text('correct');
}
}
//submit
$('#guessButton').click(function() {
compareGuess();
});
//click for new game
$( ".new" ).click(function() {
newGame();
});
});
谢谢你的帮助,我是初学者。如果我能提供任何其他信息,请告诉我。更改按钮类型
提交至按钮
<input type="button" id="guessButton" class="button" name="submit" value="Guess"/>
此外,在新游戏中,您必须重置所有内容,但您可以在新游戏中单击
,执行window.location.reload()
单击“猜测”时,randomNumberGenerator
未运行
页面正在重新加载,因为类型为submit
的input
将尝试提交表单(重新加载页面)
您误解了按钮
和提交
之间的一些语义。它们类似,但在这种情况下,按钮
不会刷新页面,提交
会刷新页面
因此,当单击Guess时,页面将重新加载,randomNumberGenerator
运行。但这只是因为页面刷新了,而不是因为点击了Guess
要解决此问题,您需要将输入
类型更改为按钮
,而不是提交
它在DOM
就绪状态下运行。我可以在新游戏中获得控制台
。更改按钮键入
提交
至按钮
。是否有方法防止在选择Guess时运行randomNumberGenerator功能。用户需要能够在不改变随机数的情况下进行多次猜测。请检查更新的fiddle
function compareGuess(){
//changes made here
//if (userGuess == randomNumber) {
if ($("#userGuess").val() == randomNumber) {
//you have miss spelled "feedback"
$('#feedback').text('correct');
}
}