How to know if raphael object is hidden?

2020-06-09 05:12发布

问题:

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:

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");