2010-07-11 42 views
12

我正在创建一个图表应用程序,在其中隐藏并显示少量元素,例如如何知道拉斐尔物体是否隐藏?

var c = paper.circle(10, 10, 10); 
c.hide() 

var c2 = paper.circle(10, 10, 10); 
c2.show() 

现在我想对这样的形状起作用,例如,计算包围盒等,但我不能找到如果形状被隐藏或如何得到?有没有这样的事情shape.is_visible()或shape.attr(“可见”)

+1

这确实应该是在拉斐尔的API,不能相信我们必须实现它自己 – chrismarx 2013-06-04 15:42:02

回答

17

我看了看文档和源代码,这样烧起来(未经测试):

Raphael.el.is_visible = function() { 
    return (this.node.style.display !== "none"); 
} 

如电话如下:

var c = paper.circle(10, 10, 10); 
c.hide(); 
if (c.is_visible()) 
    alert("Visible"); 
else 
    alert("Invisible"); 
+1

+1整整做我在做什么;)Raphael.el.is_hidden =函数(){ return this.node.style.display =='none' }; – 2010-07-11 11:23:32

+1

不错的解决方案,也适用于我的情况。 – 2012-08-16 21:32:16