2014-12-05 49 views
-1

編輯:這是javascript而不是jQuery相關的。將用戶輸入匹配到一個數組以便在畫布上繪製

新的jQuery,所以這可能是基本的。我試圖用jQuery來繪製到我的畫布元素,如果用戶輸入的字符串匹配我的數組中的元素。以下是我有:

<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> 

任何幫助將不勝感激。

+0

你要去哪裏?你有錯誤嗎? – DanM7 2014-12-05 16:12:13

+0

它只是不做任何的畫布繪圖 – eggman 2014-12-05 16:14:40

+0

你有什麼想法嗎? – eggman 2014-12-05 16:21:18

回答

0

的簡短摘要的答案:

  • 是絕對在你的代碼中沒有的jQuery ..
  • 您正在定義一個名爲draw()函數內部的平局操作。你必須調用這個函數來繪製它。
  • 在每次筆畫操作之後,您需要使用beginPath(),否則在下次調用stroke()以及調用筆畫後添加的新路徑時,將繪製舊路徑。