2013-03-29 30 views
0

在我的头上撞到了墙上。在画布上绘制的Javascript循环中出现错误

我有一个帆布

<canvas id="myCanvas" onclick=point_it(event) width=1450 height=1100 style="border:1px solid #000000;"> 

我有我的观点......

points1 = [ 
{x: 138, y: 34}, 
{x: 22, y: 119}, 
{x: 189, y: 144}, 
{x: 138, y: 34}, 
]; 
points2 = [ 
{x: 98, y: 185}, 
{x: 39, y: 268}, 
{x: 183, y: 301}, 
{x: 98, y: 185}, 
{x: 150, y: 115}, 
]; 

pointsArray = [points1,points2]; 

我想使用的moveTo,接近并填写吸引他们。我需要重复可变次数,但我不能得到这个循环正常工作...

for (var i = 0; i < pointsArray.length; i++) { 
    for (var p = 0; p+1 <= pointsArray[i].length; p++) { 
     if (p<1) { 
     var c2 = myCanvas.getContext('2d'); 
     c2.beginPath(); 
     c2.fillStyle = '#'+Math.floor(Math.random()*16777215).toString(16); 
     } 
     if (p<=pointsArray[i].length) { 
     c2.moveTo(pointsArray[i][p].x, pointsArray[i][p].y); 
     } 
     if (p=pointsArray[i].length) { 
     c2.closePath(); 
     c2.fill(); 
     } 
    } 
} 

我是新来的。任何帮助,将不胜感激。谢谢!

+1

使用jshint:http://jshint.com/错误在此间指出,被捉住。 – epascarello

回答

1

=应该是==这里:

if (p==pointsArray[i].length) { 
    ^^