我正在用 JS 和 jQuery 构建一个冷热应用。
我的问题是在表单提交上,用户输入插入了一个数字,游戏会根据与数字的距离有多近或多远来告诉他们它是保持、冷还是热还是保持。
问题是它只在第一次有效。之后它什么都不做。
我如何做到这一点,以便当用户在提交时输入时生成一个新的 secretNumber 并根据检查器设置输出热或冷或更热或更冷。
似乎它没有生成新的密码或者它只是没有输入它。
代码在这里 http://codepen.io/mackenzieabby/pen/qOXNLg
JS
$(document).ready(function(){
// Global Variables.
var theSecret = Math.floor((Math.random() * 100) + 0); // Creates Secret Number
var userGuess = $('#userGuess').val(); // User Inut Guess
var count = 0;
var addList = document.createElement("li")
// Display information modal box
$(".what").click(function(){
$(".overlay").fadeIn(1000);
});
// Hide information modal box
$("a.close").click(function(){
$(".overlay").fadeOut(1000);
});
// Functions
// New Game
function newGame() {
// new gama data here
}
// Add To List
function addtoList() {
}
function preventRefresh() {
$("form").submit(function(event) {
event.preventDefault();
theSecret();
veryHotGuess();
hotGuess();
veryColdGuess();
coldGuess()
correctAnswer();
});
}
preventRefresh();
function addGuess() {
$("ul#guessList").append("<li>" + userGuess + "</li>");
}
// Checks if hot or cold or correct
function veryHotGuess() {
if (userGuess < 25 && theSecret < 25) {
document.getElementById('feedback').innerHTML = "Very Hot";
}
}
function hotGuess() {
if (userGuess < 50 && theSecret < 50) {
document.getElementById('feedback').innerHTML = "Hot";
}
}
function veryColdGuess() {
if (userGuess < 100 && theSecret < 100) {
document.getElementById('feedback').innerHTML = "Very Cold";
}
}
function coldGuess() {
if (userGuess < 75 && theSecret < 75) {
document.getElementById('feedback').innerHTML = "Cold";
}
}
function correctAnswer() {
if (userGuess == theSecret) {
document.getElementById('feedback').innerHTML = "You Got It";
}
}
});
最佳答案
调用 theSecret();
会导致 JavaScript 错误。您将变量作为函数调用,这显然不是。
顺便说一句,我认为你对“温度”的猜测可能是错误的。
关于javascript - 为什么我的 Javascript 没有在提交时添加数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33070897/