Ir para conteúdo

POWERED BY:

Arquivado

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

JoseCarlosWeb

JQuery - Função é executa sozinha

Recommended Posts

Olá a todos,

 

Essa semana peguei um sistema já pronto e em funcionamento, porém com um erro incomum.

No banco de dados há uma rotina que atualiza uma tabela com a hora atual.

No sistema eu tenho um javascript que envia uma solicitação JSON para um arquivo php a cada 500ms para pegar a hora da tabela e imprimir na tela. No sistema ainda tenho um contador regressivo que se inicia a X horas. Quando o contador regressivo chegar em 0 (zero), o conteudo da div do contador regressivo some e aparece a mensagem "Finalizado".

 

No javascript há uma condição, para quando o tempo for zero, a div que esta com o contador limpar o conteúdo

$("#iddadiv").html('');

e ao mesmo tempo a div com a mensagem "Finalizado" mude a propriedade css

display:none

para

display:block

utilizando

$("iddadivoculta").css('display', 'block')

 

Acontece que na maioria das vezes a mensagem aparece por cima do contador regressivo. como se a função tivesse sendo chamada. O mais interessante é que o contador continua na tela e só quando o cronometro é zero que ela some. Mas a div da mensagem aparece do nada.

 

Eu Espero que tenha conseguido ser claro. Isso ja esta me deixando de cabelo branco.

Por favor me ajudem.

Compartilhar este post


Link para o post
Compartilhar em outros sites
function atualizaLeilao(){
var leiloes = '';

$.ajaxSetup({ cache: false });
$('.itemLeiao').each(function () {
	var auctionId = $(this).attr('title');
	if (leiloes != '') leiloes = leiloes + ',';
	leiloes = leiloes + auctionId;
});

if(leiloes){
    $.ajax({
        url: 'update_information.php',
        dataType: 'json',
        type: 'POST',
        data: 'leiloes=' + leiloes,
        global: false,
        success: function (data) {
            var id_usuario = parseInt($('#idUsuario').text());
            $.each(data, function (j, item) {

                var leilao_id = item.leilao.id_leilao;
                var leilao_cronometro = item.leilao.tempo_leilao;
                var leilao_jogador_id = item.leilao.id_pessoa;
                var leilao_jogador_nome = item.leilao.usuario;
                var leilao_preco = "R$ " + item.leilao.preco;

                //alert(leilao_cronometro);
                var campo_preco = $('#leilao_' + leilao_id + ' .areaValor');
                var campo_cronometro = $('#leilao_' + leilao_id + ' .areaContagem');
                var campo_data = $('#leilao_' + leilao_id + ' .areaTempo');
                var campo_jogador_nome = $('#leilao_' + leilao_id + ' .usuario');
                var campo_jogador_nome_a = $('#leilao_' + leilao_id + ' .usuario a');
                var campo_btn_lance = $('#leilao_' + leilao_id + ' .btnLanceLeilao');
                var campo_btn_lance_a = $('#leilao_' + leilao_id + ' .btnLanceLeilao a');
                var campo_btn_lance_esp_a = $('#leilao_' + leilao_id + ' .espacamento .btnLance a');
                var campo_btn_lance_fut_a = $('#leilao_' + leilao_id + '.itemLeilaoFuturo .btnLance a');
				var quadro_leilao = $('#leilao_' + leilao_id);
			    var imagem_produto = $('#leilao_' + leilao_id + '.areaFoto');
				var imagem_produto_desabilitada = $('#leilao_' + leilao_id + '.areaFotoDesativada');
				$('#leilao_' + leilao_id + ' .btnLoginLeilao').css("display","block");
				$('#leilao_' + leilao_id + ' .btnLanceLeilao').css("display","block");
				$('#leilao_' + leilao_id + ' .areaContagem').css("display","block");




                // alterando na tela
                campo_jogador_nome_a.text(leilao_jogador_nome); // nome jogador ultimo lance

					                // alterando botao de lance
                if (id_usuario == leilao_jogador_id && id_usuario != NaN) {
                    campo_btn_lance_a.attr('style', 'background-image:none;left:-20px;position:relative;');
                    campo_btn_lance_fut_a.attr('style', 'background-image:none;top:5px;left:-25px;position:relative;');
                    campo_btn_lance_a.html("<img src='" + base_url + "/img/layout/voce-esta-vencendo.png'>");
                    campo_btn_lance_esp_a.attr('style', 'margin-left:-10px;background:none;');
                    campo_btn_lance_esp_a.html("<img src='" + base_url + "/img/layout/voce-esta-vencendo-pequeno.png'>");
                } else {
                    campo_btn_lance_a.removeAttr('style', 'background-image:none;left:-20px;position:relative;');
                    campo_btn_lance_a.attr('style', 'cursor:pointer');
                    campo_btn_lance_a.css('visibility', 'visible');
                    campo_btn_lance_a.html('Lance');
                }

                //alert(campo_preco.text());

                if (campo_preco.text() != leilao_preco) {
                    campo_preco.fadeIn().animate({ 'backgroundColor': 'red' }, 500);
                    campo_preco.text(leilao_preco);         // novo preco
                } else {
                    campo_preco.css('background-color', '');
                }



                if (leilao_cronometro > 0) {
					var arrematado=0;

                    var horas = Math.floor(leilao_cronometro / 3600) % 24;
                    var minutos = Math.floor(leilao_cronometro / 60) % 60;
                    var segundos = Math.floor(leilao_cronometro % 60);

                    if (horas < 10) horas = "0" + horas;
                    if (minutos < 10) minutos = "0" + minutos;
                    if (segundos < 10) segundos = "0" + segundos;

                    var hora_exibe = segundos;

                    if (leilao_cronometro <= 5) {
                        campo_cronometro.attr('style', 'color:#ec0000');
                    } else {
                        campo_cronometro.removeAttr('style', 'color:#ec0000');
                    }
                    if (hora_exibe != campo_cronometro.text()) {

                       //AKI
					   	$('#leilao_' + leilao_id + ' .areaFoto').css("display", "block"); 
						$('#leilao_' + leilao_id + ' .areaTotalDesconto').css("display", "block"); 
						$('#leilao_' + leilao_id + ' .areaFotoDesativada').css("display", "none");
					    $('#leilao_' + leilao_id).css('border', 'solid 3px #990000');  
						$('#leilao_' + leilao_id).css('margin', '7px');
						campo_data.css('visibility', 'hidden');
                        campo_cronometro.text(hora_exibe);
						campo_cronometro.css('color', '#91bf29');    
                    }



                }

                if (leilao_cronometro == 0) {


					$('#leilao_' + leilao_id + ' .btnLoginLeilao').css("display","none");
					$('#leilao_' + leilao_id + ' .btnLanceLeilao').css("display","none");
					$('#leilao_' + leilao_id + ' .areaContagem').css("display","none");

					$('#leilao_' + leilao_id + ' .areaTempo').css("display","none");

					$('#leilao_' + leilao_id + ' .areaFoto').css("display","block");
					$('#leilao_' + leilao_id + ' .areaTotalDesconto').css("display","block");
					$('#leilao_' + leilao_id + ' .areaFotoShow').css("display","none");
					$('#leilao_' + leilao_id + ' .areaFotoDesativada').css("display","none");
					$('#leilao_' + leilao_id + ' .areaFotoDesativadaNone').css("display","none");


					$('#leilao_' + leilao_id + ' .usuario').css("width","300px");
					$('#leilao_' + leilao_id + ' .usuario').css("left","0px");
					$('#leilao_' + leilao_id + ' .usuario').css("font-size","16px");
					$('#leilao_' + leilao_id + ' .usuario').css("top","395px");					


					$('#leilao_' + leilao_id + ' .idleilao a').css("color","#a60b00");
					$('#leilao_' + leilao_id + ' .idleilao').css("top","-10px");
					$('#leilao_' + leilao_id + ' .areaArrematado').text("Arrematado");


                }	                


            });
        }, error: function (XMLHttpRequest, textStatus, errorThrown) {

        }
    });         // fim ajax
   } // fim if
setTimeout('atualizaLeilao()',500);
}

$(document).ready(function() {
atualizaLeilao();
});

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.