Estoy intentando meter unas imágenes en varios canvas contenidos en un div y no soy capaz de hacerlo.
Evidentemente soy un piolín de js y html5, es decir, un novato. Pongo el código e (esto es lo mas complicado) intentaré explicar que quiero conseguir.
El objetivo es el siguiente:
He creado una barra de navegacion <nav> que contiene una lista no ordenada <ul> incluida en un <div> que contiene cuatro <canvas>, lo que pretendo hacer es que en lugar de generar un dibujo dentro del canvas, insertar una imagen dentro de cada canvas.
No se si me explico bien.
Dentro de una etiqueta nav e incluido un div que a su vez contendrá cuatro canvas:
- Código: Seleccionar todo
<nav>
<div id="linav">
<ul>
<li><a href="Index.html"><canvas id="im1" width="55" height="55"><p>Su navegador no es compatible con canvas</p></canvas>Inicio</a></li>
<li><a href="noticias.html"><canvas id="im2" width="55" height="55"><p>Su navegador no es compatible con canvas</p></canvas>Noticias</a> </li>
<li><a href="sobremi.html"><canvas id="im3" width="55" height="55"><p>Su navegador no es compatible con canvas</p></canvas>Sobre mí</a></li>
<li><a href="contacto.html"><canvas id="im4" width="55" height="55"><p>Su navegador no es compatible con canvas</p></canvas>Contacto</a> </li>
</ul>
</div>
</nav>
Dentro del head he metido la referencia al script que se encuentra en un fichero externo:
- Código: Seleccionar todo
<script type="text/javascript" src="js/canvas_index.js"></script>
Este fichero js contiene:
- Código: Seleccionar todo
function cargaImg1Canvas(im1){
var elemento = document.getElementById("im1");
if(elemento && elemento.getContext){
var contexto = elemento.getContext("2d");
if(contexto){
return contexto;
}
}
return FALSE;
}
window.onload = function(){
var ctx = cargaImg1Canvas("im1");
if(ctx){
var img1 = new Image();
img1.src = "img/inicio.png";
img1.onload = function(){
ctx.drawImage(im1, 1, 1);
}
}
}
El código javascript hubo un momento que me funcionó pero tanto tocarlo me he perdido definitivamente.
Las preguntas son:
¿que esta mal en el javascript?
¿Hay algo bien en el planteamiento o no se puede hacer tal como lo hago?
¿Podría copiar el código javascript para cada uno de los canvas dentro del mismo fichero .js?
Si alguno entiende lo que quiero decir, sería estupendo, sino pues ya seguiré probando.
Gracias a todos.

