【发布时间】:2011-07-10 14:46:29
【问题描述】:
我想做的是这个
$.each($(".canvas"), function(n) {
var canvas = $(this)[0].getContext("2d");
canvas.drawImage(options[n]);
});
其中 options 是一个参数数组,但不知道应该如何格式化该数组以使其工作
显然不是
['img, 0, 0, 70, 17, 21, 16, 70, 17', 'img, 0, 0, 80, 12, 21, 16, 70, 17']
这个也没有
[''+img+', 0, 0, 70, 17, 21, 16, 70, 17', ''+img+', 0, 0, 80, 12, 21, 16, 70, 17']
也不是这个
{0: [img, 0, 0, 70, 17, 21, 16, 70, 17]}
这也行不通
var options = [[img, 0, 0, 70, 17, 21, 16, 70, 17],
[img, 0, 16, 70, 17, 21, 16, 70, 17],
[img, 0, 32, 70, 17, 21, 16, 70, 17],
[img, 0, 48, 70, 17, 21, 16, 70, 17]];
img.onload = function() {
$.each($(".canvas"), function(n) {
var canvas = $(this)[0].getContext("2d");
canvas.drawImage(options[n].join(', '));
});
};
错误总是 Uncaught TypeError: Type error 或 Uncaught TypeError: Illegal invocation
【问题讨论】:
-
drawImage接受多个参数,而不仅仅是一个字符串。foo(a, b)与foo('a, b')不同。只是因为字符串中有逗号并不能使其成为参数列表。
标签: javascript arrays function object