Fórum Quando zerar cronômetro conta 1 ou 2 dias novamente regressivo! JavaScript #606059
17/10/2019
0
<span class="numero" id="dia"></span><b style="color: #ff4a00">:</b><span class="numero" id="hora"></span><b style="color: #ff4a00">:</b><span class="numero" id="minuto"></span><b style="color: #ff4a00">:</b><span class="numero" id="segundo"></span>
var data = 17;
var target_date = new Date(`\n October $, 2019`).getTime();
var dias, horas, minutos, segundos;
var regressiva = document.getElementById("regressiva");
setInterval(function() {
Timer();
}, 1000);
function Timer() {
var current_date = new Date().getTime();
var segundos_f = (target_date - current_date) / 1000;
dias = parseInt(segundos_f / 86400);
segundos_f = segundos_f % 86400;
horas = parseInt(segundos_f / 3600);
segundos_f = segundos_f % 3600;
minutos = parseInt(segundos_f / 60);
segundos = parseInt(segundos_f % 60);
document.getElementById(''''dia'''').innerHTML = dias;
document.getElementById(''''hora'''').innerHTML = horas < 10 ? `$` : `$`;
document.getElementById(''''minuto'''').innerHTML = minutos < 10 ? `$` : `$`;
document.getElementById(''''segundo'''').innerHTML = segundos < 10 ? `$` : `$`;
if(horas == 0 && minutos == 0 && segundos == 0) {
data = data + 2;
}
}
Paulo Junior
Curtir tópico
+ 0Posts
17/10/2019
Sadasd
while(true){
//executa seu código
}
Gostei + 0
17/10/2019
Paulo Junior
while(true){
//executa seu código
}
Deu certo não a pagina ficou carregando infinito
Gostei + 0
17/10/2019
Sadasd
while(true){
//executa seu código
}
Deu certo não a pagina ficou carregando infinito
Então vamos tentar uma solução um pouco mais avançada, tenta com recursão, transforma esse seu código numa função e faz sua função chamar a si mesma no final do código.
Gostei + 0
17/10/2019
Sadasd
while(true){
//executa seu código
}
Deu certo não a pagina ficou carregando infinito
Então vamos tentar uma solução um pouco mais avançada, tenta com recursão, transforma esse seu código numa função e faz sua função chamar a si mesma no final do código.
Nota no caso a função vai se chamar denovo ali dentro do seu if que verifica se as horas minutos e segundos são iguais a zero.
Gostei + 0
21/10/2019
Paulo Junior
while(true){
//executa seu código
}
Deu certo não a pagina ficou carregando infinito
Então vamos tentar uma solução um pouco mais avançada, tenta com recursão, transforma esse seu código numa função e faz sua função chamar a si mesma no final do código.
Nota no caso a função vai se chamar denovo ali dentro do seu if que verifica se as horas minutos e segundos são iguais a zero.
não deu certo man :/
Gostei + 0
21/10/2019
Sadasd
while(true){
//executa seu código
}
Deu certo não a pagina ficou carregando infinito
Então vamos tentar uma solução um pouco mais avançada, tenta com recursão, transforma esse seu código numa função e faz sua função chamar a si mesma no final do código.
Nota no caso a função vai se chamar denovo ali dentro do seu if que verifica se as horas minutos e segundos são iguais a zero.
não deu certo man :/
Estranho, com recursão deveria funcionar, verifique se a lógica do seu código bate com isso aqui:
função que: pega a data atual -> cria um cronômetro em contagem regressiva até dois dias depois -> quando o cronômetro chega em zero chama a função de novo.
Gostei + 0
21/10/2019
Paulo Junior
while(true){
//executa seu código
}
Deu certo não a pagina ficou carregando infinito
Então vamos tentar uma solução um pouco mais avançada, tenta com recursão, transforma esse seu código numa função e faz sua função chamar a si mesma no final do código.
Nota no caso a função vai se chamar denovo ali dentro do seu if que verifica se as horas minutos e segundos são iguais a zero.
não deu certo man :/
Estranho, com recursão deveria funcionar, verifique se a lógica do seu código bate com isso aqui:
função que: pega a data atual -> cria um cronômetro em contagem regressiva até dois dias depois -> quando o cronômetro chega em zero chama a função de novo.
Eu fiz a alteração do código para este, mesmo assim não funcionou!!
// Set the date we're counting down to
var countDownDate = new Date("Octo 21 , 2019 10:15:25").getTime();
// Update the count down every 1 second
var x = setInterval(function() {
// Get todays date and time
var now = new Date().getTime();
// Find the distance between now an the count down date
var distance = countDownDate - now;
// Time calculations for days, hours, minutes and seconds
var days = Math.floor(distance / (1000 * 60 * 60 * 24));
var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
var seconds = Math.floor((distance % (1000 * 60)) / 1000);
// Output the result in an element with id="demo"
document.getElementById("demo").innerHTML = days + " : " + hours + " : "
+ minutes + " : " + seconds + "";
// If the count down is over, write some text
if (distance < 0) {
clearInterval(x);
document.getElementById("demo").countDownDate = countDownDate + 2;
}
Gostei + 0
21/10/2019
Sadasd
while(true){
//executa seu código
}
Deu certo não a pagina ficou carregando infinito
Então vamos tentar uma solução um pouco mais avançada, tenta com recursão, transforma esse seu código numa função e faz sua função chamar a si mesma no final do código.
Nota no caso a função vai se chamar denovo ali dentro do seu if que verifica se as horas minutos e segundos são iguais a zero.
não deu certo man :/
Estranho, com recursão deveria funcionar, verifique se a lógica do seu código bate com isso aqui:
função que: pega a data atual -> cria um cronômetro em contagem regressiva até dois dias depois -> quando o cronômetro chega em zero chama a função de novo.
Eu fiz a alteração do código para este, mesmo assim não funcionou!!
// Set the date we're counting down to
var countDownDate = new Date("Octo 21 , 2019 10:15:25").getTime();
// Update the count down every 1 second
var x = setInterval(function() {
// Get todays date and time
var now = new Date().getTime();
// Find the distance between now an the count down date
var distance = countDownDate - now;
// Time calculations for days, hours, minutes and seconds
var days = Math.floor(distance / (1000 * 60 * 60 * 24));
var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
var seconds = Math.floor((distance % (1000 * 60)) / 1000);
// Output the result in an element with id="demo"
document.getElementById("demo").innerHTML = days + " : " + hours + " : "
+ minutes + " : " + seconds + "";
// If the count down is over, write some text
if (distance < 0) {
clearInterval(x);
document.getElementById("demo").countDownDate = countDownDate + 2;
}
Coloque seu código dentro das tags de código pra ficar mais fácil de ler, mas cara, você deve ter cometido algum erro de lógica ai, eu fiz o mesmo algoritmo em python e funcionou perfeitamente, só que o meu foi com um minuto ao invés de dois dias pra eu poder testar mais rápido, eis o código:
import datetime
import time
def cronometro():
now = datetime.datetime.now()
minutos = now.minute
regressivo = 60
fimdacontagem = minutos + 1
while minutos<fimdacontagem:
print(regressivo)
time.sleep(1)
regressivo -= 1
if regressivo == 0:
cronometro()
cronometro()
Gostei + 0
21/10/2019
Paulo Junior
while(true){
//executa seu código
}
Deu certo não a pagina ficou carregando infinito
Então vamos tentar uma solução um pouco mais avançada, tenta com recursão, transforma esse seu código numa função e faz sua função chamar a si mesma no final do código.
Nota no caso a função vai se chamar denovo ali dentro do seu if que verifica se as horas minutos e segundos são iguais a zero.
não deu certo man :/
Estranho, com recursão deveria funcionar, verifique se a lógica do seu código bate com isso aqui:
função que: pega a data atual -> cria um cronômetro em contagem regressiva até dois dias depois -> quando o cronômetro chega em zero chama a função de novo.
Eu fiz a alteração do código para este, mesmo assim não funcionou!!
// Set the date we're counting down to
var countDownDate = new Date("Octo 21 , 2019 10:15:25").getTime();
// Update the count down every 1 second
var x = setInterval(function() {
// Get todays date and time
var now = new Date().getTime();
// Find the distance between now an the count down date
var distance = countDownDate - now;
// Time calculations for days, hours, minutes and seconds
var days = Math.floor(distance / (1000 * 60 * 60 * 24));
var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
var seconds = Math.floor((distance % (1000 * 60)) / 1000);
// Output the result in an element with id="demo"
document.getElementById("demo").innerHTML = days + " : " + hours + " : "
+ minutes + " : " + seconds + "";
// If the count down is over, write some text
if (distance < 0) {
clearInterval(x);
document.getElementById("demo").countDownDate = countDownDate + 2;
}
Coloque seu código dentro das tags de código pra ficar mais fácil de ler, mas cara, você deve ter cometido algum erro de lógica ai, eu fiz o mesmo algoritmo em python e funcionou perfeitamente, só que o meu foi com um minuto ao invés de dois dias pra eu poder testar mais rápido, eis o código:
import datetime
import time
def cronometro():
now = datetime.datetime.now()
minutos = now.minute
regressivo = 60
fimdacontagem = minutos + 1
while minutos<fimdacontagem:
print(regressivo)
time.sleep(1)
regressivo -= 1
if regressivo == 0:
cronometro()
cronometro()
O meu código esta funcionando normal, so que quando zera ele não faz a função que seria tipo: zerou 00:00:00 dai conta 2 dias ( ou 1 dia) 48:00:00 e faz a contagem regressiva
Gostei + 0
21/10/2019
Sadasd
while(true){
//executa seu código
}
Deu certo não a pagina ficou carregando infinito
Então vamos tentar uma solução um pouco mais avançada, tenta com recursão, transforma esse seu código numa função e faz sua função chamar a si mesma no final do código.
Nota no caso a função vai se chamar denovo ali dentro do seu if que verifica se as horas minutos e segundos são iguais a zero.
não deu certo man :/
Estranho, com recursão deveria funcionar, verifique se a lógica do seu código bate com isso aqui:
função que: pega a data atual -> cria um cronômetro em contagem regressiva até dois dias depois -> quando o cronômetro chega em zero chama a função de novo.
Eu fiz a alteração do código para este, mesmo assim não funcionou!!
// Set the date we're counting down to
var countDownDate = new Date("Octo 21 , 2019 10:15:25").getTime();
// Update the count down every 1 second
var x = setInterval(function() {
// Get todays date and time
var now = new Date().getTime();
// Find the distance between now an the count down date
var distance = countDownDate - now;
// Time calculations for days, hours, minutes and seconds
var days = Math.floor(distance / (1000 * 60 * 60 * 24));
var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
var seconds = Math.floor((distance % (1000 * 60)) / 1000);
// Output the result in an element with id="demo"
document.getElementById("demo").innerHTML = days + " : " + hours + " : "
+ minutes + " : " + seconds + "";
// If the count down is over, write some text
if (distance < 0) {
clearInterval(x);
document.getElementById("demo").countDownDate = countDownDate + 2;
}
Coloque seu código dentro das tags de código pra ficar mais fácil de ler, mas cara, você deve ter cometido algum erro de lógica ai, eu fiz o mesmo algoritmo em python e funcionou perfeitamente, só que o meu foi com um minuto ao invés de dois dias pra eu poder testar mais rápido, eis o código:
import datetime
import time
def cronometro():
now = datetime.datetime.now()
minutos = now.minute
regressivo = 60
fimdacontagem = minutos + 1
while minutos<fimdacontagem:
print(regressivo)
time.sleep(1)
regressivo -= 1
if regressivo == 0:
cronometro()
cronometro()
O meu código esta funcionando normal, so que quando zera ele não faz a função que seria tipo: zerou 00:00:00 dai conta 2 dias ( ou 1 dia) 48:00:00 e faz a contagem regressiva
Aqui o código em javascript, só que novamente esse é com um minuto ao invés de dois dias, e ao invés de alterar algum arquivo html ele dá um console log:
function sleep(milliseconds) {
var start = new Date().getTime();
for (var i = 0; i < 1e7; i++) {
if ((new Date().getTime() - start) > milliseconds){
break;
}
}
}
function cronometro(){
var horario = new Date();
var minutos = horario.getMinutes();
var segundos = 60 - horario.getSeconds();
var fimDaContagem = minutos + 1;
while(minutos < fimDaContagem){
console.log(segundos);
segundos--;
sleep(1000);
if(segundos == 0){
cronometro();
}
}
}
cronometro();
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)