JavaScript - registro mapeo de imagen

 
Vista:
Imágen de perfil de manuel bg

registro mapeo de imagen

Publicado por manuel bg (6 intervenciones) el 22/06/2024 10:34:29
Hola
A ver si me podéis ayudar.
Tengo un archivo 'miarchivo.html' con una imagen que quiero mapear y quiero obtener el contenido de cada registro del array que se crea con javascript. Abajo pongo las líneas que afectan:

en HTML:
<p id="miparrafo"></p>

<img src="miimagen.png" alt="miimagen" title="miimagen" usemap="#mimapa">

<map name="mimapa">
<area title="imagen1" target="" alt="imagen1" href="imagen1.html" coords="17,34,130,173" shape="rect">
<area title="imagen2" target="" alt="imagen2" href="imagen2.html" coords="130,34,244,173" shape="rect">
etc.
(en este caso el mapeo tiene 12 divisiones o zonas)
</map>

en JavaScript:
window.onload=ejecuta;
function ejecuta(){
var titulo=document.querySelectorAll("area"); //se crea un array de 12 registros (0 a 11)
var seleccion=titulo[2].innerText; //pongo 2 pero puede ser entre 0 y 11
console.log(seleccion);
console.log(titulo[2]);
document.getElementById("#miparrafo").innerHTML=titulo[2];
}

Y resulta lo siguiente:
console.log(seleccion);
en consola aparece--> miarchivo.html:55
que es el nombre del archivo HTML.

console.log(titulo[2]);
en consola aparece--> <area title="imagen2" target="" alt="imagen2" href="imagen2.html" coords="130,34,244,173" shape="rect">
que creo que es el contenido del registro 2 del array obtenido, el cual quisiera llevar a una cadena de texto.

document.getElementById("#miparrafo").innerHTML=titulo[2];
en consola aparece--> Uncaught miarchivo.html:57 TypeError: Cannot set properties of null (setting 'innerHTML') at ejecuta (miarchivo.html:57:52)
error al intentar meter el texto en #miparrafo.

Mis preguntas son:
-Cómo podría obtener el contenido del registro en una cadena de texto, tal como aparece en:
console.log(titulo[2]);

-Por qué me da error en:
document.getElementById("#miparrafo").innerHTML=titulo[2];

Gracias anticipadas y un saludo
Manuel Baldán
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
Imágen de perfil de manuel bg

registro mapeo de imagen

Publicado por manuel bg (6 intervenciones) el 27/06/2024 13:23:21
Muchas gracias Alejandro por tu atención y tu contestación que me ha sido de mucha ayuda.
Cada 'area' en que se divide un 'map' es una etiqueta y como tal tiene sus atributos: 'title', 'alt', 'coords', etc.
Con un bucle 'for' recorro cada 'area' y extraigo los atributos 'title y 'alt' que son los que me interesan:
for(var i=0;i<zonas.length;i++){
zonas[i].addEventListener("click",colocar,false);
}
Cuando cliqueo cada zona consigo el contenido de 'title' y de 'alt', que previamente he rellenado con el texto que me interesa:
function colocar(){
apellido.innerHTML=this.title; //contenido de 'title' en 'apellido'
descripcion.innerHTML=this.alt; //contenido de 'alt' en 'descripcion'
escudo.innerHTML='<img src="escudos/' + this.title + '.png"' + 'width="40%"' + '>';
}
El objeto de mi trabajo es conseguir, a partir de una lámina de 12 escudos de armas, la imagen ampliada de cada escudo y su descripción, cuando se hace clic sobre él.
Si lo deseas te mando el fichero HTML (con sus archivos relacionados), que me funciona perfectamente (para ello tendrías que indicarme un correo email).
Gracias de nuevo y un saludo.
Manuel Baldán
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