2012-07-24 51 views
3

您好我有一个下拉菜单&每当我改变我想改变画布内容的下拉选项...例如RaphaelJS问题... DRAW还是REDRAW?

var paper = Raphael("myDivID",400,400); 
function smallRectangle(){ 
    paper.rect(10,10,100,50); 
} 
function bigRectangle(){ 
    paper.rect(10,10,150,100); 
} 

在我的下拉我有两种选择“小矩形“&”大矩形“。我想在下拉选择中调用相应的功能。我面临的问题是,一旦我改变下拉选项拉斐尔似乎并没有绘制它。 我已经阅读了一些在stackoverflow的问题,没有必要使用重绘技术在RaphaelJS See the Answer

即使我尝试这样:

var paper = Raphael("myDivID",400,400); 
function smallRectangle(){ 
    paper.clear() 
    paper.rect(10,10,100,50); 
} 
function bigRectangle(){ 
    paper.clear() 
    paper.rect(10,10,150,100); 
} 

这似乎并不在clear()功能后,将元素添加到画布上。画布保持空白。
供参考:我的代码非常大,所以我在这里发布了这个简单的例子。

回答

4

没有必要重绘再次RECT ....

function resize_Rect(rect,newWidth,newHeight){//passing rect ,new width and new height 
     rect.attr({'width':newWidth,'height':newHeight}); 
       } 

希望它可以帮助你了...

+0

非常感谢!你救了我的一天:) – 2012-07-25 06:28:48

+0

不客气,我的荣幸! :) – Aukhan 2012-07-25 17:55:25