Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

tupaonline

Problema contador - estilo leilao 1 clique

Recommended Posts

Ola pessoal, estou perdendo o sono com o seguinte problema: Estou desenvolvendo um site no estilo www.olhonolance.com.br.

 

Tenho a seguinte estrutura: uma pagina que recebe o contador, o valor atualizado e quem deu o lance. O valor e quem deu o lance eu uso a seguinte funcão:

<script type="text/javascript">
    //*****Atualiza div constante....
       $(document).ready(function() {
           setInterval('$("#dar_lance").load("dar_lance.php")', 1000);// dados ref ao dar_lance.php
             });
                 </script>

beleza até ai tudo bem, segundo a segundo checa pra ver se teve novo lance.

 

Agora vem o problema, no cronometro uso o seguinte código:

<? $inicio_contador=30;?>

<script language=javascript>
function iniciar(tempo,dif){
window.setTimeout("mostra(tempo,dif)",tempo);
}
function mostra(tempo,dif){
valor = document.tempo.tempor.value;
document.getElementById("contador").innerHTML = document.tempo.tempor.value = (valor - dif);
if(valor == 1){
TempoExpirou();
}else{
iniciar(tempo,dif);
}
}
</script>

<script language=javascript>
tempo = 1000;
dif = 1;
iniciar(tempo,dif);
function TempoExpirou(){
alert('\n\n leilão finalizado!\n\n');
}
function enviarLance(){
document.tempo.tempor.value = <? echo  $inicio_contador;?>;
}
</script>


<form name=tempo id=tempo method=get>
<input type=hidden name=tempor value=<? echo  $inicio_contador;?> class=entrada>
<img src="../arquivos/dar_lance.jpg" onclick="enviarLance()" style="cursor:pointer;" />
<div id="contador"></div>
</form>

FUnciona certo, dou o lance e volta a 30 certinho, porem só na minha máquina, isso tem q funcionar para todos usuarios que tiver no site, o cronometro tem que estar igual. Tentei fazer em php mesmo, usando como base a hora do ultimo lance e a hora atual, porem dava uns saltos de segundos, umas travadas.

 

Voltando a alternativa em javascript, tentei fazer o seguinte para deixar sincronizado em todos os usuarios:

 

criei uma variavel em php q usa a base a hora do ultimo lance e coloca como variavel de inicio do contador ( $inicio_contador ). Essa variavel em php é resgatada na funcao do contador, porem nao consegue exibir os dados da variavel em php.... até porque a div que recebe o contador nao esta sendo atualizada segundo a segundo......

 

Alguem pode me dar uma luz ??? salvar em xml sei la.... e resgatar o valor sempre atualizado da contagem.....

 

Por favor me ajudem!

Abrçs.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não manjo de AJAX, mas você poderia fazer assim:

 

http://forum.imasters.com.br/public/style_emoticons/default/seta.gif do mesmo jeito que você usou AJAX para verificar se já tem lance, use AJAX para para fazer a atualização no servidor e mandar o resultado para a tela do usuário.

 

http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.