Ver Mensaje Individual
  #6 (permalink)  
Antiguo 07/01/2014, 11:32
Avatar de Alexis88
Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
Respuesta: MouseOver en rectángulos de canvas

Si lo necesitas para cada figura, pues toma todos los elementos canvas y aplícales los eventos.

Código HTML:
Ver original
  1.     <canvas></canvas>
  2.     <div>UNO</div>
  3.  
  4.     <canvas></canvas>
  5.     <div>DOS</div>
  6.  
  7.     <canvas></canvas>
  8.     <div>TRES</div>

Código Javascript:
Ver original
  1. var misCanvas = document.getElementsByTagName("canvas"),
  2.     misDivs = document.getElementsByTagName("div");
  3.  
  4. for (i = 0, limite = misCanvas.length; i < limite; i++) {
  5.     (function(fig){
  6.         //Formamos la figura
  7.         var figura = misCanvas[fig].getContext("2d");
  8.         figura.fillStyle = "#f00";
  9.         figura.fillRect(0, 0, 80, 100);
  10.        
  11.         //Para mostrar el Div
  12.         misCanvas[fig].addEventListener("mouseover", function(){
  13.             misDivs[fig].style.display =  "block";
  14.         }, false);
  15.  
  16.         //Para ocultar el Div
  17.         misCanvas[fig].addEventListener("mouseout", function(){
  18.             misDivs[fig].style.display =  "none";
  19.         }, false);
  20.     })(i);  
  21. }

Básicamente, tomo todos los canvas y Divs del documento y con ayuda de un bucle, voy formando las figuras de los canvas y les aplico los eventos mouseover y mouseout para que se muestre el Div respectivo al posar el puntero del mouse en cada figura. Utilizo una función anónima auto-ejecutable para aplicar correctamente los eventos y creación de figuras a cada canvas.

Aquí puedes ver cómo funciona esto.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand

Última edición por Alexis88; 07/01/2014 a las 11:50