;(function() { window.createMeasureObserver = (measureName) => { var markPrefix = `_uol-measure-${measureName}-${new Date().getTime()}`; performance.mark(`${markPrefix}-start`); return { end: function() { performance.mark(`${markPrefix}-end`); performance.measure(`uol-measure-${measureName}`, `${markPrefix}-start`, `${markPrefix}-end`); performance.clearMarks(`${markPrefix}-start`); performance.clearMarks(`${markPrefix}-end`); } } }; /** * Gerenciador de eventos */ window.gevent = { stack: [], RUN_ONCE: true, on: function(name, callback, once) { this.stack.push([name, callback, !!once]); }, emit: function(name, args) { for (var i = this.stack.length, item; i--;) { item = this.stack[i]; if (item[0] === name) { item[1](args); if (item[2]) { this.stack.splice(i, 1); } } } } }; var runningSearch = false; var hadAnEvent = true; var elementsToWatch = window.elementsToWatch = new Map(); var innerHeight = window.innerHeight; // timestamp da última rodada do requestAnimationFrame // É usado para limitar a procura por elementos visíveis. var lastAnimationTS = 0; // verifica se elemento está no viewport do usuário var isElementInViewport = function(el) { var rect = el.getBoundingClientRect(); var clientHeight = window.innerHeight || document.documentElement.clientHeight; // renderizando antes, evitando troca de conteúdo visível no chartbeat-related-content if(el.className.includes('related-content-front')) return true; // garante que usa ao mínimo 280px de margem para fazer o lazyload var margin = clientHeight + Math.max(280, clientHeight * 0.2); // se a base do componente está acima da altura da tela do usuário, está oculto if(rect.bottom < 0 && rect.bottom > margin * -1) { return false; } // se o topo do elemento está abaixo da altura da tela do usuário, está oculto if(rect.top > margin) { return false; } // se a posição do topo é negativa, verifica se a altura dele ainda // compensa o que já foi scrollado if(rect.top < 0 && rect.height + rect.top < 0) { return false; } return true; }; var asynxNextFreeTime = () => { return new Promise((resolve) => { if(window.requestIdleCallback) { window.requestIdleCallback(resolve, { timeout: 5000, }); } else { window.requestAnimationFrame(resolve); } }); }; var asyncValidateIfElIsInViewPort = function(promise, el) { return promise.then(() => { if(el) { if(isElementInViewport(el) == true) { const cb = elementsToWatch.get(el); // remove da lista para não ser disparado novamente elementsToWatch.delete(el); cb(); } } }).then(asynxNextFreeTime); }; // inicia o fluxo de procura de elementos procurados var look = function() { if(window.requestIdleCallback) { window.requestIdleCallback(findByVisibleElements, { timeout: 5000, }); } else { window.requestAnimationFrame(findByVisibleElements); } }; var findByVisibleElements = function(ts) { var elapsedSinceLast = ts - lastAnimationTS; // se não teve nenhum evento que possa alterar a página if(hadAnEvent == false) { return look(); } if(elementsToWatch.size == 0) { return look(); } if(runningSearch == true) { return look(); } // procura por elementos visíveis apenas 5x/seg if(elapsedSinceLast < 1000/5) { return look(); } // atualiza o último ts lastAnimationTS = ts; // reseta status de scroll para não entrar novamente aqui hadAnEvent = false; // indica que está rodando a procura por elementos no viewport runningSearch = true; const done = Array.from(elementsToWatch.keys()).reduce(asyncValidateIfElIsInViewPort, Promise.resolve()); // obtém todos os elementos que podem ter view contabilizados //elementsToWatch.forEach(function(cb, el) { // if(isElementInViewport(el) == true) { // // remove da lista para não ser disparado novamente // elementsToWatch.delete(el); // cb(el); // } //}); done.then(function() { runningSearch = false; }); // reinicia o fluxo de procura look(); }; /** * Quando o elemento `el` entrar no viewport (-20%), cb será disparado. */ window.lazyload = function(el, cb) { if(el.nodeType != Node.ELEMENT_NODE) { throw new Error("element parameter should be a Element Node"); } if(typeof cb !== 'function') { throw new Error("callback parameter should be a Function"); } elementsToWatch.set(el, cb); } var setEvent = function() { hadAnEvent = true; }; window.addEventListener('scroll', setEvent, { capture: true, ive: true }); window.addEventListener('click', setEvent, { ive: true }); window.addEventListener('resize', setEvent, { ive: true }); window.addEventListener('load', setEvent, { once: true, ive: true }); window.addEventListener('DOMContentLoaded', setEvent, { once: true, ive: true }); window.gevent.on('allJSLoadedAndCreated', setEvent, window.gevent.RUN_ONCE); // inicia a validação look(); })();
  • AssineUOL
Topo

Corinthians

Corinthians: João evita falar em revanche no reencontro com o Atlético-GO

João Victor, zagueiro do Corinthians, intercepta e de jogador do Juventude, na Neo Química Arena - Ettore Chiereguini/AGIF
João Victor, zagueiro do Corinthians, intercepta e de jogador do Juventude, na Neo Química Arena Imagem: Ettore Chiereguini/AGIF

Yago Rudá

Do UOL, em São Paulo

10/09/2021 12h09

Titular do sistema defensivo do Corinthians desde o início de junho, o zagueiro João Victor não falou em revanche ao projetar o jogo de domingo (12), contra o Atlético-GO, em Goiânia — embora o Dragão tenha despachado o Alvinegro da Copa do Brasil e derrotado o time comandado por Sylvinho, na Neo Química Arena, na rodada de abertura do Campeonato Brasileiro.

"Não é um clima de revanche, mas independentemente da equipe que estamos enfrentando queremos vencer. O Atlético-GO nos derrotou no Brasileiro e na Copa do Brasil. É uma equipe qualificada e o técnico [deles] já ou por aqui", explicou João Victor ao citar Eduardo Barroca, que treinou o time sub-20 do Alvinegro no ado.

Para o jogo no Centro-Oeste, o Corinthians não poderá contar com Gil — suspenso pelo terceiro cartão amarelo. A vaga será ocupada por Raul Gustavo, jovem zagueiro formado nas categorias de base do Alvinegro, e será a primeira aparição da dupla neste Campeonato Brasileiro.

O defensor, inclusive, não entra em campo há mais de 100 dias. Recentemente, além das duas propostas do Bordeaux, da França, recusadas pelo Corinthians, Raul Gustavo perdeu uma filha ainda na barriga de sua companheira. No ano ado, o atleta perdeu a irmã em um acidente, o que pesou em seu aspecto emocional.

"Todo o grupo conversa com o Raul. ou, como você disse, por momentos complicados na vida dele. Eu tenho certeza que, caso ele entre, fará uma boa partida. O elenco todo o acolheu", afirmou João Victor, um dos nomes mais próximos de Raul no elenco do Corinthians.

O jogo contra o Atlético-GO acontece no domingo, às 18h15 (horário de Brasília), e é válido pela 20ª rodada do Campeonato Brasileiro. O Alvinegro soma 28 pontos ganhos, ocupa a 6ª colocação e, neste momento, está dentro do grupo dos classificados para a Copa Libertadores da próxima temporada.

Veja outros trechos da entrevista coletiva de João Victor:

Expectativa para atuar ao lado de Raul Gustavo

"A expectativa é a melhor possível. Já joguei com o Raul no profissional. É um jogador de muita qualidade, vai agregar muito à nossa equipe".

Análise sobre o primeiro turno do Corinthians

"O início do primeiro turno foi um pouco turbulento, não tivemos muito entrosamento, muitos jovens, e tudo isso contribuiu para um começo não tão bom. Depois, com a chegada do professor Sylvinho, que colocou sua metodologia de trabalho, e com a chegada de grandes reforços, começamos a crescer e brigar por novos objetivos. Temos muito o que evoluir, crescer, temos que ganhar mais dentro de casa. Se fizermos isso em casa e mantivermos o desempenho fora, vamos sim brigar por título".

Willian estreia no domingo?

"Se estreia ou não, a gente vai saber só no domingo. O Willian é um jogador de muita experiência e de qualidade técnica. Treinando com ele, a gente percebe que ele é diferenciado e vai agregar muito".

Sobre competitividade no elenco

"Clima [de competitividade] é o melhor possível. Quem vinha jogando quer se manter e quem chegou quer a vaga. Sylvinho é muito correto, vai colocar quem merece. Mas o clima de competição é o melhor possível".

Corinthians