假设我有一个html表,单元格背景为红色。我想使用jquery在表格的循环中打印字母(A-Z),例如字母J看起来如下图所示:
我可以创建一个表和一个指针,它可以循环遍历表格的所有单元格,并将背景颜色更改为黑色。但是,我不明白要为特定字母突出显示哪些单元格。例如,要在30 x 30表格上显示字母“A”,我需要更改其背景,以便我在屏幕上显示字母A,以此类推其他字母。这有什么模式吗?
这是我到目前为止的代码:
<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
var x=0;
var y=1;
function movePointer(){
printCell();
if(x==30){
x=0;
y++;
}
if(y==31){
y=1;
x=0;
$(".pointer").css("background","red");
}
x++;
}
function printCell(){
$("#"+x+"_"+y).css("background","black");
}
function eraseCell(){
}
setInterval(movePointer,1);
});
</script>
</head>
<body style="margin:0; padding:0">
<?php
$h=30;
$v=30;
echo "<table border='1'>";
for($y=1;$y<=$v;$y++){
echo "<tr>";
for($x=1;$x<=$h;$x++){
echo "<td style='border:1px solid red; width:20px; height:20px'>";
echo "<div style='width:20px; height: 20px; background:red' class='pointer' id='".$x."_".$y."'></div>";
echo "</td>";
}
echo "</tr>";
}
?>
</table>
</body>
答案 0 :(得分:2)
为了达到这样的目的,你需要像&#34; 位图&#34;这样的东西,所以你需要一个附加的字母地图/数组 每个元素的另一个数组,其中索引的方块的颜色不同。
编辑:
一个简单的例子就是使用类似的东西:
var alphabet = ("abcdefghijklmnopqrstuvwxyz").split("");
var letterBitmap = {};
$.each(alphabet,function(index,data){
letterBitmap[data] = new Array("1.1");
console.log(letterBitmap[data]);
});
请注意,表示新数组(&#34; 1.2&#34;)的行实际上是第一个需要对其进行匹配的块的坐标,给定1作为行,2作为列。对于一封信,你应该有类似的东西:
new Array(&#34; 1.1&#34;,&#34; 2.3&#34;,&#34; 5.2&#34;)等,请注意坐标无效他们就是概念证明。
以这种格式获取数据之后,通过该坐标数组,拆分它们并选择正确的颜色索引非常简单。
希望它有所帮助。
答案 1 :(得分:0)
您可以为每个Letter创建某种Bitmap作为多维数组。
答案 2 :(得分:0)
您可以编写一个简单的html,通过单击单元格来绘制字母。然后返回带有单元状态的十六进制数。然后在代码中使用结果数据。
其他选项是在谷歌搜索一些“Ascii字体表”(我试过,但不幸运)用已经完成的字母。
如果一切都失败了,您可以使用控制台命令“banner”为a-Z生成此文本。
更简单的方法是编写这个迷你绘制html工具:D