【发布时间】:2016-07-15 00:33:14
【问题描述】:
所以我有这个数组
[["1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1"],
["1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1"],
["1","1","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","1"],
["1","1","1","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","1","1"],
["1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","0","0","1","1"],
["1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1"],
["0","0","0","0","0","0","0","0","0","1","1","0","0","0","0","0","0","0","0","0"],
["0","0","0","0","0","0","0","0","0","1","1","0","0","0","0","0","0","0","0","0"],
["0","0","0","0","0","0","0","0","0","1","1","0","0","0","0","0","0","0","0","0"],
["0","0","0","0","0","0","0","0","1","1","1","1","0","0","0","0","0","0","0","0"],
["0","0","0","0","0","0","0","1","1","1","1","1","1","0","0","0","0","0","0","0"],
["1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1"]]
代表这张地图
此函数将根据 1 相对于 0 的位置为空白图块绘制边框。
function lagTile(color,a,b){
var div=document.createElement("div");
var size=32;
div.style.width=div.style.height=size+"px";
div.style.left=a*size+"px";
div.style.top=b*size+"px";
canvas.appendChild(div);
if(color.substr(color.length-3,color.length)=="png"){
div.style.backgroundImage="url(map/"+color+")";
}else{
div.style.backgroundColor=color;
}
if(b>0 && map[b-1][a]==1 && map[b][a]==0)
{
div.style.borderTop="4px solid #630";
div.innerHTML="Top ";
}
if(b<map.length-1 && map[b+1][a]==1 && map[b][a]==0)
{
div.style.borderBottom="4px solid #630";
div.innerHTML+="Bottom ";
}
if(a<map[b].length-1 && map[b][a+1]==1 && map[b][a]==0)
{
div.style.borderRight="4px solid #630";
div.innerHTML+="Right ";
}
if(a>0 && map[b][a-1]==1 && map[b][a]==0)
{
div.style.borderLeft="4px solid #630";
div.innerHTML+="Left ";
}
并给出这个结果
如您所见,仅显示左边框和上边框。并且你可以看到文字明显是正确的。
关于为什么不绘制底部和右侧边框的任何建议?
【问题讨论】:
-
这太棒了!!! :D
标签: javascript html css arrays function