Может ли кто-нибудь помочь мне выяснить, почему моя функция checkColor не работает для 2-го и последующих щелчков, как только требуемый для If l oop, от которого он зависит, считается истинным (что, согласно журналу) ? Он работает для первого щелчка, меняя цвет кнопки, а затем он теоретически должен перемещаться с 5 на 4 и так далее для каждого щелчка, изменяя цвет каждой кнопки на основе присвоенного номера «строки». Он регистрирует, что это действительно так, что объект 'row' и 'someClass' соответствует тому, что я хочу, но на самом деле он не работает. Он просто запускает журнал, но не меняет цвет последующих кнопок. Заранее спасибо.
// var playerOne = prompt("Player One: Enter your Name - You will be Blue.")
// var playerTwo = prompt("Player One: Enter your Name - You will be Red.")
var gClass = $(".G")
var fClass = $(".F")
var eClass = $(".E")
var dClass = $(".D")
var cClass = $(".C")
var bClass = $(".B")
var aClass = $(".A")
var buttons = $("button")
var row = 5
var locRow = 5
var someClass = 0
var locClass = 1
var someClassAttr = 0
var locClassAttr = 1
function returnBackgroundColor(rowIndex,colIndex){
// console.log($(colIndex[rowIndex]).prop("background-color"));
// console.log(rowIndex);
return($(colIndex[rowIndex]).prop("background-color"));
}
function changeColor(locRow, someClass){
someClass.eq(row).css("background-color","red");
}
function checkColor(locRow ,someClass){
for (locRow; locRow > -1; locRow--) {
if (returnBackgroundColor(locRow, someClass) === undefined){
return changeColor(locRow, someClass);
}else {
false;
}
}
}
buttons.on("click", function(){
if ($(this).attr('class') === 'G') {
var someClass = gClass;
}else if ($(this).attr('class') === 'F') {
var someClass = fClass;
}else if ($(this).attr('class') === 'E') {
var someClass = eClass;
}else if ($(this).attr('class') === 'D') {
var someClass = dClass;
}else if ($(this).attr('class') === 'C') {
var someClass = cClass;
}else if ($(this).attr('class') === 'B') {
var someClass = bClass;
}else if ($(this).attr('class') === 'A') {
var someClass = aClass;
}else {
false;
}
someClassAttr = someClass.attr('class');
if (locClassAttr === someClassAttr){
locRow = locRow - 1;
console.log(locRow, someClass);
checkColor(locRow, someClass);
// console.log(checkColor(locRow, someClass));
}else {
checkColor(row, someClass);
var locClass = someClass;
locClassAttr = locClass.attr('class');
console.log(locClassAttr, someClassAttr);
}
})