2010-07-11 16 views
12

Estoy creando una aplicación de diagrama en la que oculto y muestro algunos elementos, p.¿Cómo saber si el objeto raphael está oculto?

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

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

Ahora quiero actuar sobre tales formas, p. calcular el cuadro delimitador, etc., pero no puedo encontrar cómo obtenerlo si la forma está oculta o no. ¿Hay algo como esto shape.is_visible() o shape.attr ('visible')

+1

esto realmente debería estar en la API de Raphael, no puede creer que tenemos que aplicar nosotros mismos – chrismarx

Respuesta

17

Tomé un vistazo al código fuente y la documentación y cocinado esto (no probado):

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

llamada como siguiente manera:

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

1 por hacer exactamente lo que estoy haciendo;) Raphael.el.is_hidden = function() { return this.node.style.display == 'none' }; –

+1

Buena solución, realmente funciona en mi caso también. –

Cuestiones relacionadas