Título: javascript Publicado por: Dawman en 30 Septiembre 2013, 23:03 pm Hola,
Estoy ententando crear un script para pintar las celdas de una tabla con los colores que el usuario seleciona, cada colo se ira repitiendo tantas veces como el usurio marca... he hecho algo per no me funiona! necesito vuestra ayuda!! gracias Código
[MOD]: USA LAS ETIQUETAS PARA INSERTAR CÓDIGO Título: Re: javascript Publicado por: Almapa en 1 Octubre 2013, 14:08 pm Supose que hi haurà prou gent del foro que no entendrà els teus comentaris en català XD.
Para empezar destacar que la variable "gran" es totalmente inútil, pues el bucle se va a parar cuando j<20 y, siendo el bucle for el que incrementa el valor de j, nunca se va a dar el caso de que j>=20 a no ser que le insertes una línea en que le varíes tu el valor. Bueno, a mi si que me funciona siempre y cuando le ponga 3 números distintos. Estos es debido a que en el bucle Código siempre se queda en la primera condición y por eso lo pinta todo del mismo color. Por lo tanto podrías crear una variable que opere dentro de un rango desde 1 a 3 para seleccionar cada uno de los distintos valores y con ella determinar dentro de qué sentencia condicional debe entrar. Por otro lado no se si pretendes hacer una tabla de forma cuadrada o rectangular o la forma te da igual, pero en el caso de querer hacer un cuadrado deberías modificar el valor de "j" dentro del bucle que crea las celdas. Esta es una posible solución en la que a lo primero que te he dicho en la que te ahorras las variables v1, v2, v3 y gran Código
Un saludo. Título: Re: javascript Publicado por: Dawman en 2 Octubre 2013, 13:10 pm Almapa,
Moltes gràcies per la teva resposta... Ara bien, continua habiendo problema a la hora de controlar las celdas... no se limita a dibujar 20 celdas, sino se pasa de largo saltando la condicion de j<20!! con la tuya van 4 versiones sin poder con el mismo problema!! hay alguna otra forma para que no dibuje mas de 20 celdas?? gracias PD: procuraré poner comentarios en castellano ;P Título: Re: javascript Publicado por: Dawman en 2 Octubre 2013, 13:25 pm Almapa, Moltes gràcies per la teva resposta... Ara bien, continua habiendo problema a la hora de controlar las celdas... no se limita a dibujar 20 celdas, sino se pasa de largo saltando la condicion de j<20!! con la tuya van 4 versiones sin poder con el mismo problema!! hay alguna otra forma para que no dibuje mas de 20 celdas?? gracias PD: procuraré poner comentarios en castellano ;P Código function crearTaula() Con este codigo me dibuja las 20 celdas, pero no respeta la sequencia de los colores:{ var fons1 = document.getElementById("color1").value; var fons2 = document.getElementById("color2").value; var fons3 = document.getElementById("color3").value; var val1 = document.getElementById("valor1").value; var val2 = document.getElementById("valor2").value; var val3 = document.getElementById("valor3").value; var cont = 0; document.write("<table>"); for (i = 0; i < 20; i++) // per generar files { document.write("<tr>"); for (j = 0; j < 20; j) // per generar cel·les { cont=cont%3+1; if (cont == 1) { for (x = 0; x < val1; x++) { document.write("<td bgcolor=\"" + fons1 + "\"></td>") j++; if (j >= 20) break; } } else if (cont == 2) { for (x = 0; x < val2; x++) { document.write("<td bgcolor=\"" + fons2 + "\"></td>") j++; if (j >= 20) break; } } else if (cont == 3) { for (x = 0; x < val3; x++) { document.write("<td bgcolor=\"" + fons3 + "\"></td>") j++; if (j >= 20) break; } } } document.write("</tr>"); } document.write("</table>"); por ejemplo: si el usario introduce rojo 3, naranja 2, amarillo 1 la sequencia tiene q seguir siempre 3,2,1... 3,2,1... no se si m'explico bien!! Título: Re: javascript Publicado por: Almapa en 2 Octubre 2013, 14:21 pm A mi m'és igual l'idioma jeje ;)
Bueno esto a mi me funciona bien, mira a ver que opinas, he tenido que cambiar la estructura de los bucles y condicionales, pero creo que es lo que andas buscando. Código
Título: Re: javascript Publicado por: Dawman en 2 Octubre 2013, 19:19 pm Muchas gracias Alampa!!
justo lo que buscaba!! ahora sí que funciona!! Molts mercis! |