Выложил упрощенную версию скрипта, никак не пойму в чем дело
Скрипт генерирует случайное число, глобальную переменную.
На странице есть инпут для ввода числа и кнопка для генерации нового.
Суть вот в чем, при генерации нового числа, в функцию проверки это новое число не заносится, есть ли какой то вариант, чтобы функция обрабатывала уже новое значение переменной? Или, если дублировать функцию в действие по клику, то можно ли как то запретить работу функции с предыдущей переменной?
https://jsfiddle.net/ekwb2k6j/1/
<p id="a"></p>
<input id="gen" value="генерация" type="button">
<input id="input" type="text">
body {
padding-top: 100px;
text-align: center;
}
input {
font-size: 24px;
}
p {
text-align: center;
font-size: 30px;
}
.green {
color: green;
}
function getRandomInRange(min, max) { // случайное число в заданном промежутке
return Math.floor(Math.random() * (max - min + 1)) + min;
}
function randomA() { //
a = getRandomInRange(1, 10);
$('#a').text(a); // вывод а
}
function chek(x, y) { // x - id инпута, y - переменная
$(x).change(function(){
var value = $(this).val();
console.log(y);
if (value != y) {
$(x).addClass("green");
}
else {
$(x).removeClass("green");
$(x).animate({width: 'toggle'}, 500);
};
})
}
function gen() { // генерация новой переменной
$('#gen').on("click", function() {
$('#input').fadeIn(0);
randomA();
$('input:text').val('');
});
}
$(document).ready(function(){
$('input:text').val('');
randomA();
chek('#input', a);
gen();
});