Javascript Chessboard Pattern,onclick功能帮助(基本)

时间:2014-12-25 12:49:25

标签: javascript html css onclick chess

function vnos(){
var visina=prompt("Vnesi Visino Sahovnice");
var sirina=prompt("Vnesi Sirino Sahovnice");
document.write("<table>");
for(var i=1; i<=visina; i++)
{
    document.write("<tr>");
    for(var j=1;j<=sirina; j++)
    {
        if(i%2==0){
            if(j%2==0){document.write("<td onclick='myFunction()' class='rdeca'></td>");}
            else{document.write("<td onclick='myFunction()' class='crna'></td>");}
        }
        else{
            if(j%2==0){document.write("<td onclick='myFunction()' class='crna'></td>");}
            else{document.write("<td onclick='myFunction()' class='rdeca'></td>");}
        }   
    }
    document.write("</tr>");    
}
document.write("</table>");}

因此,第一个函数用于创建国际象棋棋盘,并作为您想要的行数和列数的输入。我试图做一个onclick甚至会改变单个单元格的颜色,我不确定这样做的正确方法是什么。第二个函数用作onclick函数,它将改变颜色。 html文档中有css,css正在运行。

function myFunction(){
document.getElementById("celica").className="bela";
}

1 个答案:

答案 0 :(得分:0)

当你调用clickhandler时,上下文(this)被设置为元素,所以你可以将它传递给处理函数,如下所示:

 <td onclick='myFunction(this)' class='rdeca'></td>

然后在myFunction上你可以这样做:

function myFunction(cell) {
    cell.className="bela";                // set clicked classname
    cell.style.backgroundColor="red";     // set clicked backgroundcolor
    cell.innerHTML="clicked on me";       // set clicked html content
}