2012-06-25 162 views
0

我是拉斐尔新手,想要做一些非常简单的事情,但是很失败。有谁知道如何创建Raphael画布并设置背景颜色(例如:绿色)?这是我到目前为止,但是当我在浏览器中打开它,它不显示任何....拉斐尔Javascript

<html> 
<head><title></title> 
<script src="raphael-min.js"></script> 
</head> 

<body> 

<script type="text/javascript"> 
//all your javascript goes here 

var paper = Raphael(15,40,320,300); 

</script> 

</body> 
</html> 

当我把这个代码,它可以正确显示了一圈js脚本里面......

var circle = paper.circle(50,10,10); 
circle.attr("fill","#0f0"); 

但同样,我的问题是试图设置背景颜色。任何帮助,将不胜感激。

由于

回答

3

RaphaelJS不提供默认的背景的造型,因为它的事件系统依赖于被对象驱动的。但是,你可以指定一个特定的DIV和风格也相应:

<div 
    id="my_paper_div" 
    style="background-color:limegreen;width:400px;height:400px" 
></div> 

确保您没有将任何的DIV或可变纸。给他们不同的名字,否则你会遇到一些IE不兼容的情况。

重新声明你的文章的JavaScript像这样:

// declare outside the startup scope, so you can do fancy things later 
var my_paper; 

// raphaeljs' version of onload 
Raphael(function() { 
    my_paper = Raphael("my_paper_div", 400, 400); 
}); 

由于RaphaelJS呈现不会与背景干扰,技术上可以混合和匹配HTML和SVG/VML。例如,看到这样的jsfiddle:http://jsfiddle.net/NQtU5/

1

你也可以画一个矩形画布的大小:

var paper = Raphael("my_paper_div", 600, 400), 
    placemat = paper.rect(0,0,paper.width,paper.height).attr({"fill" : "#99FF99" }); 

因为我发现有在一个对象时,它很有用,我通常用拉斐尔的项目这种方式启动要附加事件的背景,如关闭所有打开的工具提示的单击事件。

See example

+0

我在使用raphael时为我所有的项目都这样做。 – j0hnstew