La cuestion es que no se como llamar a la accion...
Código:
O si alguien tiene algun otro codigo con el mismo efecto, se lo agradeceria!//SCRIPT PARA CREAR UN DEGRADADO VARIABLE //VARIABLES PARA CONFIGURAR EL DEGRADADO. Configurar desde aqui //color que se presenta al principio color_inicio = new Array(227,200,50) //color al que se tiende color_fin = new Array(12,227,50) //los pasos que se utilizaran para pasar de un color al otro pasos = 50 //comportamiento 1=bucle_infinito 2=una_pasada_de_inicio_a_fin 4=una_pasada_de_inicio_a_fin_a_inicio 4=bucle_infinito_con_interrupcion comportamiento = 4 //No tocar a no ser que se sepa lo que se hace hexadecimal = new Array("0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F") var iteracion = 0 var color_actual = new Array(4) //calculo el incremento en los que se tiene que hacer el degradado, para el numero de pasos determinado diferencia = new Array(4) for (i=0;i<4;i++) diferencia[i] = (color_fin[i] - color_inicio[i]) / pasos function convierteHexadecimal(num){ //alert (num) var hexaDec = Math.floor(num/16) var hexaUni = num - (hexaDec * 16) return hexadecimal[hexaDec] + hexadecimal[hexaUni] } function degradado(){ iteracion += 1 //miro si estoy en el inicio > fin o en el fin > inicio if (iteracion < pasos) { //estoy al principo for (i=0;i<4;i++) color_actual[i] = (iteracion * diferencia[i]) + color_inicio[i] }else{ //estoy volviendo for (i=0;i<4;i++) color_actual[i] = color_fin[i] - ((iteracion - pasos) * diferencia[i]) } //alert(convierteHexadecimal(Math.round(color_actual[0])) + convierteHexadecimal(Math.round(color_actual[1])) + convierteHexadecimal(Math.round(color_actual[2]))) document.fgColor = convierteHexadecimal(Math.round(color_actual[0])) + convierteHexadecimal(Math.round(color_actual[1])) + convierteHexadecimal(Math.round(color_actual[2])) //la llamo con un retardo switch (comportamiento){ case 1: if (iteracion == pasos * 2) iteracion = 0 setTimeout("degradado()",1) break; case 2: if(iteracion < pasos) setTimeout("degradado()",1) break; case 3: if(iteracion < pasos * 2) setTimeout("degradado()",1) break; case 4: if (iteracion == pasos * 2){ iteracion = 0 setTimeout("degradado()",10000) }else{ setTimeout("degradado()",1) } break; } } degradado() </script>
saludos