php – 如何使用jQuery在屏幕上绘制字母

假设我有一个html表,单元格背景为红色.我想使用
jquery在表格的循环中打印字母(A-Z),例如字母J看起来如下图所示:

Click here to view the image

我可以创建一个表和一个指针,它可以循环遍历表的所有单元格,并将背景颜色更改为黑色.但是,我不明白要为特定字母突出显示哪些单元格.例如,要在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>

最佳答案 要实现这样的功能,你需要像“位图”这样的东西,所以你需要一个字母映射/数组,它为每个元素附加了另一个具有不同颜色的方形索引的数组.

编辑:

一个简单的例子就是使用类似的东西:

var alphabet = ("abcdefghijklmnopqrstuvwxyz").split("");
var letterBitmap = {};
$.each(alphabet,function(index,data){
letterBitmap[data] = new Array("1.1");
console.log(letterBitmap[data]);
});

请注意,表示新数组(“1.2”)的行实际上是需要进行匹配的第一个块的坐标,给定1作为行,2作为列.对于一封信你应该有类似的东西:

新数组(“1.1”,“2.3”,“5.2”)等,请注意坐标无效,它们只是概念证明.

在获得这种格式的数据之后,通过该坐标数组,分割它们并选择正确的颜色索引非常简单.

希望能帮助到你.

点赞