My js function does not want to stop

2

verificaseTemDado does not want to stop when I give clearInterval to success

$('.arquivo').on('click',function() {
    setInterval(verificaSeTemDado,1000);
});
function verificaSeTemDado() {

    verifica = $('.arquivo').val();
    if(verifica == "") {

console.log('NENHUM ARQUIVO SELECIONADO');

    }else{
        console.log('ha um arquivo selecionado');


var form = $('#formdologo')[0];
var dados = new FormData(form);

$.ajax({
    url:'ajaxDoLogo.php',
    type:'post',
    data:dados,
    contentType:false,
    processData:false,
    beforeSend: function() {
        console.log("ENVIANDO AGUARDE...");

    },
    success:function(res) {
        console.log(res);
        $('.fundo').attr('src','../imgMarketing/'+res);
        $('.fundo').attr('style','width:100%; height:250px;');
        clearInterval(verificaSeTemDado);

    },
    complete:function() {
        console.log("IMAGEM ENVIADA COM SUCESSO");


    }


});


    }
}
function vazei() {
    console.log('karalho sai daquela porra');

}

$('.nomeEmpresa').attr('style','position:absolute; margin-top:-200px');
$('.fundo').attr('style','margin-top:70px; width:100%;height:259px;');

$('.nome').on('keyup',function() {

nome = $('.nome').val();
$('.nomeEmpresa').text(nome);

});
</script>
    
asked by anonymous 31.12.2017 / 04:21

1 answer

0

You're doing it wrong. Your setInterval has no name, so it keeps running. verificaSeTemDado is a function called in the range, not setInterval .

Do the following, assign a variable to your setInterval :

temporizador = setInterval(verificaSeTemDado,1000);

And end it with:

clearInterval(temporizador);
    
31.12.2017 / 04:36