将用户输入与数组匹配以绘制到画布上

时间:2014-12-05 16:10:50

标签: javascript html5 canvas

编辑:这是javascript与jQuery无关。

jQuery的新手,所以这可能是基本的。如果用户输入的字符串与我的数组中的元素匹配,我试图使用jquery绘制到我的canvas元素。这就是我所拥有的:

<body>
<canvas id="c4" width="300px" height="200px" style="border:1px solid black">Not supported</canvas>

<script>
    //main problem having is simply defining the jQuery function correctly
    function draw(){
        var c = document.getElementById("c4");
        if (canvas.getContext){
        var ctx = c.getContext('2d');
        ctx.fillStyle = "lightgrey";
                    //(x,y,values)
        ctx.fillRect(0,0,300,200);
                // (x, y) (20,15) is starting point
        ctx.moveTo(20,15);
        ctx.lineTo(20,120);


        ctx.moveTo(20,15);
        ctx.lineTo(100,15);


        ctx.moveTo(100,15);
        ctx.lineTo(100,45);
        ctx.stroke();



        ctx.moveTo(100,45);
        ctx.arc(99,50,8,0,2*Math.PI);
        ctx.fillStyle = "black";
        ctx.fill();

        ctx.moveTo(20,120);
        ctx.lineTo(65,120);
        ctx.stroke();

        ctx.moveTo(20,40);
        ctx.lineTo(40,15);
        ctx.stroke();
    }
    }               
</script>

    <input type="text" id="input1">
    <button onclick="myJsFunction()">$</button>

        <script>
         function myJsFunction(){
             // adding this in later
         }
        </script>

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

作为答案的简短摘要:

  • 你的代码中绝对没有jQuery ..
  • 您正在一个名为draw()的函数中定义绘制操作。你必须调用这个函数才能画画。
  • 您需要在每次笔画操作后使用beginPath(),否则下次调用stroke()时会绘制旧路径,同时调用笔画后添加新路径。