javascript - 为什么我的 checkColor 函数没有运行?
问题描述
任何人都可以帮我弄清楚为什么我的 checkColor 函数在第二次和后续点击中没有运行,一旦它所依赖的 If 循环的必要条件被认为是 True (根据 Log,它是)?它适用于第一次单击,更改按钮的颜色,然后理论上应该从 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);
}
})
解决方案
推荐阅读
- eclipse - Eclipse 无法识别 Cucumber 功能
- python - 如何在连接两个列表时修复类型错误
- vb.net - 从备份文件夹中删除当前日期的图像
- javascript - JavaScript:整页滚动
- c++ - Eigen 无法访问稀疏矩阵中的 typedef unary_evaluator
- c++ - 如何解决“代码执行无法继续,因为找不到 SDL2_ttf.dll。重新安装程序可能会解决此问题。”
- c - shell中的退出命令
- c++ - Qml 实时渲染模型
- postgresql - PostgresQL:将部分文件路径作为命令行参数传递
- charts - 更改 Google 折线图中数据标签的顺序