marcosfj1 0 Denunciar post Postado Abril 1, 2011 Bom galera seguinte achei um codigo na net para fazer uma contagem regressiva no flash, e deu certo sim....Porem o q acontece este recurso de contagem regressiva será usado para promocoes, e no codigo há um problema pois pra fazzer a conta ele pega a data do computador, e isso é ruim pois cada cliente te sua hora sempre com uns minutos a mais ou a menos, ou seja nao poderia pois ficaria difernete...ai o q eu fiz: ano = 2011; mes = 4; dia = 1; horas = 17; min = 00; //CRIEI NOVAS VARIAVEIS ano2 = 2011; mes2 = 4; dia2 = 1; horas2 = 16; min2 = 00; dataFinal = new Date(ano, mes-1, dia, horas, min); //SETEI UMA DATA INICIAL MANUALMENTE dataInicial = new Date(ano2, mes2-1, dia2, horas2, min2); function regressiva() { //dataInicial = new Date(); goSeg = Math.floor((dataFinal-dataInicial)/1000); seg = goSeg%60; goMin = Math.floor(goSeg/60); min = goMin%60; goHoras = Math.floor(goMin/60); horas = goHoras%24; dias = Math.floor(goHoras/24); if (seg<10) { seg = "0"+seg; } if (min<10) { min = "0"+min; } if (horas<10) { horas = "0"+horas; } contagem = dias+"d, "+horas+"h, "+min+"min e "+seg+"s "; } this.onEnterFrame = function() { regressiva(); }; Bom resultado disso 1 horas de diferença e aparece na tela esta 1 horas, mas ele nao vai diminuindo os segundos ele fica estatico....alguem tem alguma ideia de como resolver isso? Valeu Compartilhar este post Link para o post Compartilhar em outros sites
marcosfj1 0 Denunciar post Postado Abril 6, 2011 nossa o forum de flash é mto parado....ou minha duvida é dificil hehe quase 100 visuzlizacoes e ngm soube responder :( Compartilhar este post Link para o post Compartilhar em outros sites
Andre Cocuroci 0 Denunciar post Postado Abril 7, 2011 Fiz uma pequena adaptação: ano = 2011; mes = 4; dia = 1; horas = 17; min = 00; //CRIEI NOVAS VARIAVEIS ano2 = 2011; mes2 = 4; dia2 = 1; horas2 = 16; min2 = 00; dataFinal = new Date(ano, mes-1, dia, horas, min); //SETEI UMA DATA INICIAL MANUALMENTE dataInicial = new Date(ano2, mes2-1, dia2, horas2, min2); function regressiva() { dataInicial.setTime(dataInicial.getTime()+ 1000); goSeg = Math.floor((dataFinal-dataInicial)/1000); seg = goSeg%60; goMin = Math.floor(goSeg/60); min = goMin%60; goHoras = Math.floor(goMin/60); horas = goHoras%24; dias = Math.floor(goHoras/24); if (seg<10) { seg = "0"+seg; } if (min<10) { min = "0"+min; } if (horas<10) { horas = "0"+horas; } contagem = dias+"d, "+horas+"h, "+min+"min e "+seg+"s "; setTimeout(regressiva,1000); } regressiva(); O problema é que a data inicial era sempre a mesma, por isso o relogio não se mexia. Então primeiro eu somo um segundo na data inicial e depois faço a conta para a diferença. Depois tirei do enterframe e dentro da função eu coloquei o setTimeout para chamar a mesma função a cada segundo. Assim deve funcionar, mas as vezes o relógio pode ficar adiantado ou atrasado, mas o script que uso para os banner que faço é parecido com este, mas em AS3. Compartilhar este post Link para o post Compartilhar em outros sites
marcosfj1 0 Denunciar post Postado Abril 8, 2011 Valeu cara vou testar aqui e já falo se deu certo obrigado Compartilhar este post Link para o post Compartilhar em outros sites