有没有办法简化我的这部分代码?我一直在研究这个问题,最后得到了这个作品,或者做了我需要做的事情。我有一个数组(6 * 6),当你点击图像时,它将围绕它的所有其他图像变成相同的颜色。我只使用红色和蓝色,对不起,我没有使用分号,但我稍后会修复它。那么有人能帮我吗?如果你需要整个程序,我也可以上传。简化代码块
function vClick(iRow, iCol)
{
var i, j;
if (astrColor[iRow][iCol] == 'r')
{
if ((iRow - 1) < 0)
{
for (i = iRow; i <= (iRow + 1) ; i++)
{
if ((iCol - 1) < 0)
{
for (j = iCol; j <= (iCol + 1) ; j++)
{
var strID = "img" + i + "," + j;
document.getElementById(strID).src = 'rcircle.png';
astrColor[i][j] = 'r';
}
}
else if ((iCol + 1) > 5)
{
for (j = (iCol - 1) ; j <= iCol; j++)
{
var strID = "img" + i + "," + j;
document.getElementById(strID).src = 'rcircle.png';
astrColor[i][j] = 'r';
}
}
else
{
for (j = (iCol - 1) ; j <= (iCol + 1) ; j++)
{
var strID = "img" + i + "," + j;
document.getElementById(strID).src = 'rcircle.png';
astrColor[i][j] = 'r';
}
}
}
}
else if ((iRow + 1) > 5)
{
for (i = (iRow - 1) ; i <= iRow; i++)
{
if ((iCol - 1) < 0)
{
for (j = iCol; j <= (iCol + 1) ; j++)
{
var strID = "img" + i + "," + j;
document.getElementById(strID).src = 'rcircle.png';
astrColor[i][j] = 'r';
}
}
else if ((iCol + 1) > 5)
{
for (j = (iCol - 1) ; j <= iCol; j++)
{
var strID = "img" + i + "," + j;
document.getElementById(strID).src = 'rcircle.png';
astrColor[i][j] = 'r';
}
}
else
{
for (j = (iCol - 1) ; j <= (iCol + 1) ; j++)
{
var strID = "img" + i + "," + j;
document.getElementById(strID).src = 'rcircle.png';
astrColor[i][j] = 'r';
}
}
}
}
else if((iCol - 1) < 0)
{
for (i = (iRow - 1) ; i <= (iRow + 1) ; i++)
{
for (j = iCol ; j <= (iCol + 1) ; j++)
{
var strID = "img" + i + "," + j;
document.getElementById(strID).src = 'rcircle.png';
astrColor[i][j] = 'r';
}
}
}
else if((iCol + 1) > 5)
{
for (i = (iRow - 1) ; i <= (iRow + 1) ; i++)
{
for (j = (iCol - 1) ; j <= iCol ; j++)
{
var strID = "img" + i + "," + j;
document.getElementById(strID).src = 'rcircle.png';
astrColor[i][j] = 'r';
}
}
}
else
{
for (i = (iRow - 1) ; i <= (iRow + 1) ; i++)
{
for (j = (iCol - 1) ; j <= (iCol + 1) ; j++)
{
var strID = "img" + i + "," + j;
document.getElementById(strID).src = 'rcircle.png';
astrColor[i][j] = 'r';
}
}
}
}
else
{
if ((iRow - 1) < 0)
{
for (i = iRow; i <= (iRow + 1) ; i++)
{
if ((iCol - 1) < 0)
{
for (j = iCol; j <= (iCol + 1) ; j++)
{
var strID = "img" + i + "," + j;
document.getElementById(strID).src = 'bcircle.png';
astrColor[i][j] = 'b';
}
}
else if ((iCol + 1) > 5)
{
for (j = (iCol - 1) ; j <= iCol; j++)
{
var strID = "img" + i + "," + j;
document.getElementById(strID).src = 'bcircle.png';
astrColor[i][j] = 'b';
}
}
else
{
for (j = (iCol - 1) ; j <= (iCol + 1) ; j++)
{
var strID = "img" + i + "," + j;
document.getElementById(strID).src = 'bcircle.png';
astrColor[i][j] = 'b';
}
}
}
}
else if ((iRow + 1) > 5)
{
for (i = (iRow - 1) ; i <= iRow; i++)
{
if ((iCol - 1) < 0)
{
for (j = iCol; j <= (iCol + 1) ; j++)
{
var strID = "img" + i + "," + j;
document.getElementById(strID).src = 'bcircle.png';
astrColor[i][j] = 'b';
}
}
else if ((iCol + 1) > 5)
{
for (j = (iCol - 1) ; j <= iCol; j++)
{
var strID = "img" + i + "," + j;
document.getElementById(strID).src = 'bcircle.png';
astrColor[i][j] = 'b';
}
}
else
{
for (j = (iCol - 1) ; j <= (iCol + 1) ; j++)
{
var strID = "img" + i + "," + j;
document.getElementById(strID).src = 'bcircle.png';
astrColor[i][j] = 'b';
}
}
}
}
else if ((iCol - 1) < 0)
{
for (i = (iRow - 1) ; i <= (iRow + 1) ; i++)
{
for (j = iCol ; j <= (iCol + 1) ; j++)
{
var strID = "img" + i + "," + j;
document.getElementById(strID).src = 'bcircle.png';
astrColor[i][j] = 'b';
}
}
}
else if ((iCol + 1) > 5)
{
for (i = (iRow - 1) ; i <= (iRow + 1) ; i++)
{
for (j = (iCol - 1) ; j <= iCol ; j++)
{
var strID = "img" + i + "," + j;
document.getElementById(strID).src = 'bcircle.png';
astrColor[i][j] = 'b';
}
}
}
else
{
for (i = (iRow - 1) ; i <= (iRow + 1) ; i++)
{
for (j = (iCol - 1) ; j <= (iCol + 1) ; j++)
{
var strID = "img" + i + "," + j;
document.getElementById(strID).src = 'bcircle.png';
astrColor[i][j] = 'b';
}
}
}
}
}
你先生是个天才!谢谢,它的工作方式! – dmbfan42 2014-11-06 23:21:50
我很高兴它为你工作! – carlosherrera 2014-11-08 01:35:58