Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] suma con celdas

Estas en el tema de suma con celdas en el foro de Javascript en Foros del Web. Hola estoy intentando hacer lo siguiente pero no me sale... Quiero hacer como una tabla de suma coloreando las filas pares e impares Soy capaz ...
  #1 (permalink)  
Antiguo 28/04/2015, 08:59
 
Fecha de Ingreso: abril-2015
Mensajes: 6
Antigüedad: 9 años
Puntos: 0
suma con celdas

Hola estoy intentando hacer lo siguiente pero no me sale...

Quiero hacer como una tabla de suma coloreando las filas pares e impares

Soy capaz de colorear filas pares e impares y la función de la suma que he hecho funciona, pero cuando mezclo todo se produce el desastre, soy totalmente novato en javascript.


Un estilo a que me salga ésto, como en la imagen:



Alguien me puede ayudar?

Os puedo pasar mi código por privado o le expongo aquí?

Gracias por adelantado.
  #2 (permalink)  
Antiguo 28/04/2015, 10:19
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: suma con celdas

Bienvenido a FDW.

Para poder ayudarte, muéstranos el código que has elaborado, para lo cual debes de utilizar el Highlight respectivo, que en este caso sería el de JavaScript.



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
  #3 (permalink)  
Antiguo 28/04/2015, 10:33
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 8 meses
Puntos: 578
Respuesta: suma con celdas

Lo de las celdas se podría hacer con CSS3:

Código CSS:
Ver original
  1. li:nth-child(even) {
  2.     background: green;
  3. }
  4. li:nth-child(odd) {
  5.     background: orange;
  6. }
  #4 (permalink)  
Antiguo 29/04/2015, 00:48
 
Fecha de Ingreso: abril-2015
Mensajes: 6
Antigüedad: 9 años
Puntos: 0
Respuesta: suma con celdas

Hola no me dejan usar el comando
Código:
 li:nth-child(even)
en la practica, me piden hacerlo de otra forma que no sea eso. os pongo el popurri de lo que he hecho a ver si podéis hacerlo funcionar...muchas gracias.

Cogí una función que pinta las lineas pero en cuanto la mezclo con lo que tengo hecho de la suma no me sale nada, si comento esa linea me sale la suma pero no colorea claro...
Os pongo el html con el javascript integrado, a ver si podéis ayudarme a rematarlo, perdonar por las barbaridades que os encontréis...si que me dejan usar css3 pero sin el child que comentaba PHPeros.
Gracias por adelantado.

Código HTML:
Ver original
  1.  
  2. <script language="javascript">
  3.  
  4.  
  5.     function suma(){
  6.    
  7.    
  8.  
  9.    
  10.     document.write("<table border='1'><tr><td> x </td><td>x + 2</td></tr>");
  11.         for(i=1; i<=99; i++){
  12.          
  13.             document.write("<tr><td>"+ i +"</td><td>"  + (2 + i) + "</td></tr>");
  14.            
  15.             //pinta();  //si descomento esta linea, no me sale ya la tabla...algo esta mal    
  16.         }
  17.    
  18.    
  19.    
  20.     document.write("</table>");  
  21.    
  22.     }
  23.    
  24.    
  25.    
  26. function pinta(){
  27.     cual=document.getElementById("tabla").rows;
  28.  
  29.     for(a=0;a<cual.length;a++){
  30.         color(a);
  31.     }
  32.  
  33. }
  34.  
  35. function color(b){
  36.     if(b%2==0)
  37.         cual[b].style.backgroundColor="#ff0000";
  38.     else
  39.         cual[b].style.backgroundColor="#0000ff";
  40. }
  41.  
  42.  
  43.  
  44. </head>
  45.  
  46. <body onload="suma()">
  47.  
  48.  
  49. <table width=100 height=300 border=1 id="tabla">
  50.  
  51. //<tr><td>aqui la i</td><td>aqui la suma de i + 2</td></tr>
  52. //<tr><td>aqui la i</td><td>aqui la suma de i + 2</td></tr>  
  53. //</table>
  54.  
  55.  
  56. </body>
  57. </html>
  #5 (permalink)  
Antiguo 29/04/2015, 10:05
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: suma con celdas

No hay necesidad de que por cada fila creada vuelvas a recorrer las demás para asignar los colores, basta con que lo hagas en cada iteración.

Código Javascript:
Ver original
  1. for (var i = 1, color; i < 99; i++){
  2.     //También puedes usar operadores ternarios: color = i % 2 == 0 ? "green" : "orange";
  3.  
  4.     if (i % 2 == 0){
  5.         color = "green";
  6.     }
  7.     else{
  8.         color = "orange";
  9.     }
  10.  
  11.     tabla.innerHTML += "<tr style = 'background:" + color + "'><td>" + i + "</td><td>" + (2 + i) + "</td></tr>";
  12. }

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; 29/04/2015 a las 10:12 Razón: Signos
  #6 (permalink)  
Antiguo 29/04/2015, 10:27
 
Fecha de Ingreso: abril-2015
Mensajes: 6
Antigüedad: 9 años
Puntos: 0
Respuesta: suma con celdas

Pero entonces el código definitivo sería como te pongo a continuación?
Algo se me pasa porque no me sale nada al ejecutarlo.
Perdón por la pesadez.

Código HTML:
Ver original
  1.  
  2. <script language="javascript">
  3.  
  4.  
  5.     function suma(){
  6.    
  7.    
  8.  
  9.    
  10.     for (var i = 1, color; i < 99; i++){
  11.    //También puedes usar operadores ternarios: color = i % 2 == 0 ? "green" : "orange";
  12.  
  13.    if (i % 2 == 0){
  14.        color = "green";
  15.    }
  16.    else{
  17.        color = "orange";
  18.    }
  19.  
  20.    tabla.appendChild("<tr style = 'background:" + color + "'><td>" + i + "</td><td>" + (2 + i) + "</td></tr>");
  21. }
  22.  
  23.    
  24.     }
  25.    
  26.  
  27.  
  28.  
  29. </head>
  30.  
  31. <body onload="suma()">
  32.  
  33.  
  34.  
  35.  
  36.  
  37. </body>
  38. </html>
  #7 (permalink)  
Antiguo 29/04/2015, 10:42
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: suma con celdas

Cambia el appendChild() por un innerHTML+= como está en el ejemplo que te puse y crea la tabla con el id 'tabla' tal y como lo tenías, porque, de otro modo, las nuevas filas no se asignarán a ningún elemento. También crea las respectivas cabeceras (la primera fila) y asigna el color que corresponda.

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
  #8 (permalink)  
Antiguo 30/04/2015, 00:54
 
Fecha de Ingreso: abril-2015
Mensajes: 6
Antigüedad: 9 años
Puntos: 0
Respuesta: suma con celdas

Lo he puesto así pero debo hacerlo mal, estoy a dos velas :)

Código HTML:
Ver original
  1.  
  2. <script language="javascript">
  3.  
  4.  
  5.    
  6.    
  7.    
  8.  
  9.    
  10.     for (var i = 1, color; i < 99; i++){
  11.    //También puedes usar operadores ternarios: color = i % 2 == 0 ? "green" : "orange";
  12.  
  13.    if (i % 2 == 0){
  14.        color = "green";
  15.    }
  16.    else{
  17.        color = "orange";
  18.    }
  19.  
  20.     tabla.innerHTML += "<tr style = 'background:" + color + "'><td>" + i + "</td><td>" + (2 + i) + "</td></tr>";
  21. }
  22.  
  23.    
  24.    
  25.    
  26.  
  27.  
  28.  
  29. </head>
  30.  
  31. <body onload="suma()">
  32.  
  33. <table width=100 height=300 border=1 id="tabla">
  34.  
  35.  
  36.  
  37. </body>
  38.    
  39.  
  40.    
  41. </html>


Puedes dejármelo para que funcione? y para que salga la cabecera de la primera fila?

Gracias y perdona por el tostón.
  #9 (permalink)  
Antiguo 30/04/2015, 01:06
 
Fecha de Ingreso: abril-2015
Mensajes: 6
Antigüedad: 9 años
Puntos: 0
Respuesta: suma con celdas

Uys en el codigo se me habia olvidado
Código Javascript:
Ver original
  1. function suma(){

Ahora si que sale solo me falta como hago para poner la cabecera (primera fila) sin cargarme todo?

Muchas gracias!
  #10 (permalink)  
Antiguo 30/04/2015, 01:14
 
Fecha de Ingreso: abril-2015
Mensajes: 6
Antigüedad: 9 años
Puntos: 0
Respuesta: suma con celdas

Al final he logrado lo de la cabecera también!!
Muchísimas gracias por vuestra ayuda!!

Etiquetas: celdas, funcion, suma
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:26.