У меня нет самой яркой идеи, почему эта функция работает только один раз. Любые идеи?
var ColorsTable = ['red', 'green', 'blue', 'gold', 'white', 'black'];
var Rand = ColorsTable[Math.floor(Math.random() * ColorsTable.length)];
var Rand2 = ColorsTable[Math.floor(Math.random() * ColorsTable.length)];
jQuery( document ).ready(function( $ ) {
$('.losuj').click(function () {
$("#rama").css("background", Rand);
$("#rama2").css("background", Rand2);
var input = $('#wpis');
input.val('')
input.val(input.val() + Rand);
var input2 = $('#wpis2');
input2.val('')
input2.val(input2.val() + Rand2);
}); });
Случайные цвета вычисляются только один раз в pageload, перемещаются внутри обработчика кликов
var ColorsTable = ['red', 'green', 'blue', 'gold', 'white', 'black'];
jQuery(document).ready(function ($) {
$('.losuj').click(function () {
var Rand = ColorsTable[Math.floor(Math.random() * ColorsTable.length)];
var Rand2 = ColorsTable[Math.floor(Math.random() * ColorsTable.length)];
$("#rama").css("background", Rand);
$("#rama2").css("background", Rand2);
var input = $('#wpis');
input.val('')
input.val(input.val() + Rand);
var input2 = $('#wpis2');
input2.val('')
input2.val(input2.val() + Rand2);
});
});
Я предполагаю, что вы ожидаете разного цвета каждый раз? Если это случай, вы генерируете случайные цвета только один раз, когда ваш документ загружается и использует одни и те же значения каждый раз.
Попробуйте переместить верхний код внутри определения функции следующим образом:
var colorsTable = ['red', 'green', 'blue', 'gold', 'white', 'black'];
$(document).ready(function() {
$('.losuj').click(function () {
var rand = colorsTable[Math.floor(Math.random() * colorsTable.length)];
var rand2 = colorsTable[Math.floor(Math.random() * colorsTable.length)];
$("#rama").css("background", rand);
$("#rama2").css("background", rand2);
$('#wpis').val(input.val() + rand);
$('#wpis2').val(input2.val() + rand2);
});
});
Rand
вместо генерации нового случайного значения при каждом запуске.