Ir ao conteúdo
  • Cadastre-se

Problemas no relógio de contagem regressiva


Posts recomendados

Boa noite pessoal


No meu site de compras coletivas, estou tendo dificuldades no relógio de contagem regressiva


Ele estava programado para exibir quando for mais de 24 horas o formado de dia, só que ele não está exibindo o dia, só tudo em horas. O meu site é http://www.fxhost.com.br/mercadolivre/baiacu_urbano/index.php No campo dias do relógio está aparecendo a soma em horas, por isso está com três casas decimais:


Segue abaixo o meu código:



 <?php if($team['close_time']){?>
                <div style="float: left; width: 220px; height: 73px; margin-left: 28px; margin-top: 38px; background: url(static/css/i/bg_tempo_horas.png) top center no-repeat;">
                    <div style="float: left; font-size: 36px; width: 42px; text-align: center; color: #FFFFFF; font-weight: bold; margin: 3px 16px;">00</div>
                    <div style="float: left; font-size: 36px; width: 42px; text-align: center; color: #FFFFFF; font-weight: bold; margin: 3px 16px;">00</div>
                    <div style="float: left; font-size: 36px; width: 42px; text-align: center; color: #FFFFFF; font-weight: bold; margin: 3px 0px 3px 14px;">00</div>
                </div>
                <?php } else { ?>
                    <?php if($left_day>0){?>
                    <ul id="counter" style="background: url(static/css/i/bg_tempo_dias.png) top center no-repeat;">
                        <li><?php echo $left_day; ?></li>
                        <li><?php echo $left_hour; ?></li>
                        <li><?php echo $left_minute; ?></li>
                    </ul>
                    <?php } else { ?>
                    <ul id="counter" style="background: url(static/css/i/bg_tempo_horas.png) top center no-repeat;">
                        <li><?php echo $left_hour; ?></li>
                        <li><?php echo $left_minute; ?></li>
                        <li><?php echo $left_seco; ?></li>
                    </ul>
                    <?php }?>
            <?php }?>
            <?php if($team['close_time']==0){?>
Link para o comentário
Compartilhar em outros sites

  • Moderador

@Verônica F. Santos

 

Não sei como você está gerando as horas...  mas posso dizer que já passei por isso... meu TCC foi um site de compra coletiva :D

 

O que usei no relógio regressivo foi o plugin jQuery chamado Countdown.  em conjunto com a pack br dele.

 

Este plugin tem um trigger que dispara quando finaliza o tempo. permitindo que desabilite o botão de comprar.. por exemplo

 

Podes encontrar ele aqui http://keith-wood.name/countdown.html  o exemplo que usei como base para desenvolver o meu foi  a aba callbacks.

Link para o comentário
Compartilhar em outros sites

  • Moderador

@Verônica F. Santos

 

Não é para joomla.  Definifivamente não é.  eu nunca usei o joomla.

É apenas um plugin jQuery(javascript). esse plugin é usado por quase todos os sites de compras coletivas... tanto que usei no meu TCC.

 

Basicamente funciona da seguinte forma a contagem regressiva:

 

No banco de dados quando você cadastra uma oferta, é inserido no banco a data e hora inicial e a data e hora final.  com isso podemos fazer o cálculo de quanto tempo falta para acabar.

Então eu criei uma função em php que separa a data da hora.. pois no banco de dados utilizei  o campo DATETIME.. que é data e horas juntos.

 

Criei uma função em javascript usando o plugin jQuery Countdown que pega essa data trazida do banco de dados.. e já faz a conversão em horas ou dias.. 

A função que criei foi:

function timeCountdown(data) {		var data;			    //var endTime = "Wed, 18 Aug 2011 01:33:00 GMT-300";	    $('#tempo').countdown({	        until: new Date(data), format: 'HMS',	        timezone: -3,	        compact: false,	        onExpiry: disableBuy,	        alwaysExpire: true	        });	    	    console.log( $('#tempo').countdown({	        until: new Date(data), format: 'HMS',	        timezone: -3,	        compact: false,	        onExpiry: disableBuy,	        alwaysExpire: false	        }));	    }function disableBuy() {	jQuery('#comprar').attr('disabled','disabled').css({'cursor':'default'});}

Não vou explicar o código, mas basicamente a função timeCountown( ) recebe como parâmetro a data.  essa data eu passo via javascript.. no momento que eu faço um SELECT do banco de dados da tabela de ofertas...  pegando a data e hora.. exemplo de como eu envio a data do php para o javascript:

		<script type="text/javascript">			timeCountdown("<?php echo $dataDividida;?>");			</script>

Essa variável $dataDivivida é a data separada da hora..  eu usei uma função criada para separar usando o explode. exemplo:

function  separaData($data){   $dataSeparada = explode(" ", $data);   return $dataSeparada[0];}echo $dataDividida = separaData("2015-10-01 14:36:00");//vai retornar apenas  2015-10-01

Praticamente foi isso que eu fiz.. funciona extremamente bem.. obviamente fiz pesquisas.. e desenvolvi um site de comprar coletivas totalmente funcional.. vai por mim...é muito mais fácil você utilizar esse plugin em javascript. Lembrando que ele pode ser usado em qualquer lugar, não pertence a nenhum tipo de CMS. é apenas um plugin jQuery.

Link para o comentário
Compartilhar em outros sites

  • Moderador

@Verônica F. Santos

 

Entendo. Como não és programadora.. fica bem mais complicado ajudar... pois não é simplesmente postar algo aqui e substituir no seu site. Por que não se sabe como foi feito o calculo de horarios... de onde vem a data e etc..

O mais indicado mesmo, é que você tente falar com a pessoa que desenvolveu seu site.. e pedir para que ele arrume isso.. ou  integre o plugin Jquery no seu site.

 

Se foi um script comprado(sim existe aos montes) fica pior ainda... porque se não for quem desenvolveu  a dar suporte... provavelmente outro programador vai penar para poder arrumar.. se não tiver uma documentação.

 

Quando eu postei recomendando o plugin countdown, achavas que era você quem estava desenvolvendo o site..

Desculpe se fui meio rude, mas não tenho como te ajudar nesse aspecto.

 

Enfim, desejo você boa sorte.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...