У меня есть возрастное значение, которое я использую как условие для ввода инструкции IF. Оператор IF заполняет случайные значения в поле (это математическая игра для детей). После заполнения полей пользователь может ввести свои ответы, а затем проверить их, используя кнопку «Проверить ответы». После запуска блока «Проверить ответы» IF-оператор снова запускается (!), Что приводит к изменению математических проблем - создаются новые случайные значения.запускать инструкцию IF после
Как я могу предотвратить выполнение оператора IF после того, как страница уже загружена; вызывая изменение значений при каждом нажатии кнопки «Проверить ответы»?
Вот это отношение JavaScript:
$(document).ready(function() {
var getAge = localStorage.getItem('setAge');
var userResponse = new Array();
var answer = new Array();
if (getAge >= 1 && getAge <= 7) {
var operator = new Array('+', '-');
for (var counter = 0; counter <= 2; counter++) {
var index = Math.round(Math.random());
var1 = Math.floor((Math.random() * 5) + 1);
var2 = Math.floor((Math.random() * 10) + 1);
// these add the values to the mathQuestions.aspx
$('#a' + counter).text(var1);
$('#b' + counter).text(operator[index]);
$('#c' + counter).text(var2);
answer[counter] = eval(var1 + operator[index] + var2);
}
// this stores the users answers in userResponse[]
for (var counter = 0; counter <= 2; counter++) {
$('#d' + counter).change(function() {
for (var counter = 0; counter <= 2; counter++) {
userResponse[counter] = $('#d' + counter).val();
// window.alert("userResponse = " + userResponse[counter]);
}
});
}
// Button3 = 'Check Answers'
$('#Button3').click(function() {
for (var counter = 0; counter <= 2; counter++) {
window.alert('userResponse after checking the answers = ' + userResponse[counter]);
if (answer[counter] != userResponse[counter]) {
$('#span' + counter).val(answer[counter]);
}
}
});
});
Я все еще учусь все это, так что я мог бы иметь другие ошибки, которые вносят свой вклад в моей проблеме. Насколько я знаю, проблема с корнем вызвана повторением оператора IF. Кроме того, в случае, если это актуально, я использую Visual Studio Express 2012 для Интернета, используя некоторые элементы управления ASP (таблица, кнопки, ввод и т. Д.).
он должен работать только один раз, когда нагрузка страницы завершена, а затем не раз. если вы действительно этого хотите, вы можете установить контрольную переменную, например. 'var already_ran = false;', затем установите значение true после завершения if(). –