javascript - 连接四个 : Help Using JQuery in a function

标签 javascript jquery html css

我是编程新手,正在尝试制作一个简单的 Html/CSS/Javascript/JQuery Connect Four 游戏。这是 what i have so far.

唯一的问题是您不能将代币堆叠在一起!这个 Connect 4 游戏很烂; )!

dropToken() 函数中,我尝试创建一个带有 if 语句的 for 循环,以查找我尝试放置 token 的空间是否为白色,否则,向上一个 tr 通过在 for 循环中使用 var i 计数器。

function dropToken(obj, column)
{            
    for (var i == 6; i > 0; i--)
    {
        if ($('table tr:last-child td:nth-child(' + column + ')').css("background-color") == "white")
        {
            $('table tr:last-child td:nth-child(' + column + ')').css("background-color", playerTurn);
        }
    }
    if (playerTurn == "Red")
    {
        playerTurn = "Blue"
        obj.style.backgroundColor = "Blue";   
    }
    else
    {
        playerTurn = "Red"
        obj.style.backgroundColor = "Red"; 
    }
}

然而,这段代码使得程序not work.

最佳答案

试试这个

http://jsfiddle.net/f7hpoyfj/1/

您需要使用 if (element.css("background-color") == "rgba(0, 0, 0, 0)") 来比较颜色。它可能依赖于浏览器,也可能不依赖于浏览器。还不确定

此外,看看我是如何创建循环的 - 你没有在你之前的函数中使用 i 我认为这是一个错误,因为你有效地一遍又一遍地比较相同的元素。

for (var i = 7; i > 1; i--)
{
    var element = $('table tr:nth-child(' + i + ') td:nth-child(' + column + ')');
    if (element.css("background-color") == "rgba(0, 0, 0, 0)" || element.css("background-color") == "transparent" || element.css("background-color") == "white")
    {
        element.css("background-color", playerTurn);
        break;
    }
}

关于javascript - 连接四个 : Help Using JQuery in a function,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29785332/

相关文章:

javascript - 获取网页主体或窗口的高度和宽度

javascript - Fancybox 异步行为?

javascript - 解释按位运算符在 Canvas 图像数据像素颜色分配中的使用

javascript - 如何使用 express 服务目录?

javascript - REGEX - 链接与主题标签冲突

javascript - 使用 .sort(function (a, b) 按降序数字顺序列出解析的 xml 数据

javascript - 让用户滚动停止scrolltop的jquery动画?

html - 为什么我的 div 不会在他们的 parent 中居中?

css - 文档类型和部分

javascript - 类型错误 : this is undefined - React JS,