连接四:帮助在函数中使用JQuery

Jos*_*shK 5 html javascript css jquery

我是编程的新手,我正在尝试制作一个简单的Html/CSS/Javascript/JQuery Connect Four游戏.这是 我到目前为止所拥有的.

唯一的问题是你不能将标记堆叠在一起!这连接四个游戏很糟糕; )!

dropToken()函数内部,我试图创建一个带有if语句的for循环,以查找我尝试将令牌放入的空格是否为白色,否则,tr通过使用var ifor循环中的计数器来升级.

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"; 
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,此代码使程序无法正常工作.

emm*_*aah 5

试试这个

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;
    }
}
Run Code Online (Sandbox Code Playgroud)