1

所以我有这个函数,我用它来画一个三角形来制作一个“漫画云”。无论如何,这是代码:

function drawTriangle(param)
{
var context = document.getElementById("triangle" + param).getContext("2d");

context.shadowColor   = '#111111';
context.shadowBlur    = 1;
context.shadowOffsetX = 3;
context.shadowOffsetY = 3;
context.fillStyle     = '#FFFFFF';
context.lineWidth     = 1;

context.beginPath();
    context.lineTo(16, 0);
    context.lineTo(8, 10);
    context.lineTo(0, 0);
context.closePath();
context.fill();
}

我将此声明保留在部分中包含的 functions.js 中然后,在 HTML 文件的末尾,我包含我调用此函数的 script.js 文件:

for(i=1; i<=3; i++)
{
drawTriangle(i);
};

问题是,调用此函数后编写的每个代码都没有被执行。当然,作为最后一个 JS 函数调用它不是问题,但是感觉我做错了什么让我很烦。

那么有什么想法吗?尖端?谢谢你的帮助 :)

4

2 回答 2

0

这里没有任何问题,但是如果document.getElementById("triangle" + param)返回null(如果 ID 不存在),那么您就有问题了。

因为没有null.getContext("2d");

于 2013-02-15T03:32:32.780 回答
0

确保在 jquery ( http://api.jquery.com/ready/ ) 的 .ready 中运行您的代码,或者在调用 getElementById() 之前让您的 DOM 加载。

在我将这个标准添加到我的实现之前,我浪费了好几个小时。

于 2013-02-15T03:44:33.330 回答