如何将JavaScript变量传递给Raphael函数?

时间:2013-03-21 00:43:28

标签: javascript raphael

这段代码应该在拉斐尔纸上绘制两个正方形:

var paper = Raphael("canvas", 1100, 750);
var numbers = "0,0,250,180";
var box1 = paper.rect(numbers);
var box2 = paper.rect(250, 0, 250, 180);

但是,实际上只绘制了box2。如何传递变量集以绘制框1?

http://jsfiddle.net/xqwBB/

谢谢, 凯文

2 个答案:

答案 0 :(得分:1)

通常,您可以使用Function#apply并将字符串拆分为数组。 apply将使用第一个参数调用函数this,第二个参数是参数数组:

var box1 = paper.rect.apply(paper, numbers.split(","));

jsFiddle

答案 1 :(得分:0)

1 var numbers =“0,0,250,180”;

您在这里创建一个字符串,而.rect()则需要四个数字作为参数。

如果您的参数以字符串的形式出现,请将其拆分并调用.rect()

var numbers = "0,0,250,180";
numbers = numbers.split(","); // now numbers is an array
canvas.rect(numbers[0], numbers[1], numbers[2], numbers[3]);