Ver Mensaje Individual
  #3 (permalink)  
Antiguo 03/02/2016, 12:58
ZedGe1505
 
Fecha de Ingreso: junio-2011
Mensajes: 289
Antigüedad: 12 años, 10 meses
Puntos: 15
Respuesta: Tablero de dibujo Javascript

No te haré la tarea xD


pero sí corregí tu problema


Primero le asigne un id al TR de la primera tabla para poder recorrerlo y saltarme el siguiente TR del estado del pincel.

Luego cambie
Código Javascript:
Ver original
  1. td.onclick=function(){td.className = 'color1';};
por
Código Javascript:
Ver original
  1. td.className = 'color1';
Queda mucho mas limpio.

Luego eliminé tu código que tanto repetias abajo y lo que hice fue, quitar la clase seleccionado a todos tus colores, dejar la clase selecionado en la celda seleccionada y luego pintar el cuadro.



Código HTML:
Ver original
  1. <body onload="crearTabla();">
  2.     <p>TABLERO DE DIBUJO EN JAVASCRIPT</p>
  3.     <table width="500" border="1" id="paleta" summary="Tabla de selección de colores">
  4.           <caption>
  5.             Haga CLICK en un color para comenzar a pintar
  6.           </caption>
  7.           <tr id="color">
  8.                 <td class="color1 seleccionado"></td>
  9.                 <td class="color2" ></td>
  10.                 <td class="color3" ></td>
  11.                 <td class="color4" ></td>
  12.                 <td class="color5"></td>
  13.                 <td class="color6" ></td>
  14.             </tr>
  15.             <tr>
  16.                 <td colspan="6" id="pincel">Estado del pincel</td>
  17.             </tr>
  18.     </table>
  19.     <p></p>
  20.     <div id="zonadibujo"></div>
  21.     </body>


Código Javascript:
Ver original
  1. function crearTabla(){
  2.         var tablearea = document.getElementById('zonadibujo');
  3.         table = document.createElement('table');
  4.         table.className='tablerodibujo';
  5.  
  6.     for (var i = 0; i < 30; i++) {
  7.         var tr = document.createElement('tr');
  8.         for(var j = 0; j < 30; j++){
  9.             var td = document.createElement('td');
  10.             td.id="obj"+i+j;
  11.            
  12.             td.style.border ="1px solid #000";
  13.             tr.appendChild(td);
  14.             td.className = 'color1';
  15.         }
  16.         table.appendChild(tr);
  17.     }
  18.     tablearea.appendChild(table);
  19. }
  20.  
  21. $("#paleta td").click(function() {
  22.   $('#color').each(function(){
  23.       $(this).find('td').each(function(){
  24.           var myClass = $(this).attr("class");
  25.                 myClass = myClass.split(" ");
  26.           if(typeof  myClass[1] != "undefined"){
  27.             $(this).removeClass( 'seleccionado' );    
  28.           }
  29.       })
  30.   })
  31.  
  32.   var newColor = $(this).addClass( 'seleccionado' );  
  33.  
  34.     $('.tablerodibujo').each(function(){
  35.       $(this).find('td').each(function(){
  36.             $(this).removeClass();
  37.             $(this).addClass(newColor.attr("class"));
  38.       })
  39.  
  40.    })
  41.  
  42. });


Te dejo la Demo