JavaScript - Cambiar contenido de area

 
Vista:

Cambiar contenido de area

Publicado por Aritz (14 intervenciones) el 11/07/2007 09:38:48
Buenos días!

Tengo una imagen mapeada (es un router) en la que mapeo correctamente todas las entradas y las salidas. El quiz de la cuestión está en que quiero cambiar el color de las entradas y salidas según el administrador haga click en la entrada/salida deseada. Para ello he hecho un función en javascript a la que llamo correctamente, pero el color de la entrada no cambia y el Firebug no me da error.

Supongo que al ser una imagen, cambiar secciones de ella no sera posible viendo los resultados, pero alguien sabe como hacerlo? Yo ahora estoy intentando hacerlo montando la imagen mediante <div> y <span>, pero a parte de exigiri mucho trabajo, el código queda muy sucio. Hay alguna forma de hacerlo mediante area o algún tag similar usando javscript para cambiar el color de la I/O?

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Cambiar contenido de area

Publicado por Gonzalo (107 intervenciones) el 11/07/2007 13:35:05
Efectivamente no puedes cambiar trozos de una imagen desde Javascript.

Las soluciones pueden ser muy variadas.

1. recortar la imagen en partes y cambiar cada parte. Esto es bastante sucio, pero en caso de necesidad ahí está.

2. usar varias imágenes unas encima de otras. La imagen de fondo es el router, luego tienes una imagen de "conexión verde" (por decir algo) y otra de "conexión roja", que tienen el fondo transparente. Si las colocas unas encima de otras en las coordenadas apropiadas, lo que se ve es que se cambia de color. También es bastante sucio.

3. generar imágenes en el servidor. Si usas en el servidor algo como PHP o Java o ASP, puedes cargar la imagen básica del router y editarla. En PHP lo puedes hacer con la librería GD y en Java con el paquete java.awt (en ASP no sé). Esto es más limpio, pero tiene la pega de que puede cargar más el servidor.

4. usar SVG o canvas, si puedes permitirte exigir a los usuarios que tengan navegador o plugin que lo soporte.

4.b. Usar alguna librería de Javascript que pinte con divs pero que tú no te tengas que preocupar por los detalles. Tu código será más limpio, pero estas cosas ni son rápidas ni están libres de problemas. Si quieres algo sencillo vale, pero no hagas cosas demasiado pesadas o complejas. Alguna, para que la veas: http://www.walterzorn.com/jsgraphics/jsgraphics_e.htm
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar