2012-06-25 262 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