views:

23

answers:

1

I am creating a diagram application in which I hide and show few elements e.g.

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

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

Now I want to act upon such shapes e.g. calculate bounding box etc but I am not able to find how to get if shape is hidden or not? Is there something like this shape.is_visible() or shape.attr('visible')

+1  A: 

I took a look at the documentation and source code and cooked this up (untested):

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

Call as follows:

var c = paper.circle(10, 10, 10);
c.hide();
if (c.is_visible())
    alert("Visible");
else
    alert("Invisible");
TNi
+1 for exactly doing what I am doing ;) Raphael.el.is_hidden = function () { return this.node.style.display == 'none'};
Anurag Uniyal