;(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

Seleção olímpica liga alerta após levar 3 gols da Bolívia: "nervosismo"

André Jardine dá instruções para a sua zaga durante jogo entre Brasil e Bolívia - Lucas Figueiredo/CBF
André Jardine dá instruções para a sua zaga durante jogo entre Brasil e Bolívia Imagem: Lucas Figueiredo/CBF

Danilo Lavieri

Do UOL, em Armênia (Colômbia)

29/01/2020 04h00

Durante a semana de treinos, André Jardine tem sempre duas preocupações centrais: que seus pontas sejam decisivos e que sua zaga saiba sair jogando com segurança. O jogo contra a Bolívia mostrou que a missão do ataque está bem encaminhada, mas que a defensiva está longe do ideal. O placar de 5 a 3, inclusive, garantiu a vaga no quadrangular final do Pré-Olímpico e retrata exatamente isso.

À frente, Antony e Paulinho fizeram um ótimo jogo, com gols e assistências. Pepê entrou de novo, mostrou que tem estrela e fez seu segundo gol na competição em pouco mais de 30 minutos disputados. Os três são os destaques da parte ofensiva, ao lado de Matheus Cunha, que chegou ao seu 11º gol em 13 jogos.

Já atrás, a missão é mais difícil. Apesar de treinar insistentemente a saída de bola com seus zagueiros, Jardine viu um time inseguro na hora de começar a construir as jogadas atrás. Ele descarta mudar o estilo de jogo e tentar começar a construção mais à frente, com saídas de bola mais longa, e promete intensificar os treinos com os defensores.

"A gente treina essas coisas. Temos pouco tempo com esses zagueiros, especialmente os que vêm pela primeira vez por conta da liberação dos clubes. Os que estavam antes talvez já estivessem em um nível avançado. A gente procura sair construindo, para ter mais controle. Se a gente brigar por bola longa, com certeza o controle do jogo escapa. Tivemos alguns problemas por nervosismo. Isso é normal e natural em uma equipe que está se construindo. Não é fácil. A responsabilidade que eles têm de vestir a camisa da seleção também pesa. É importante eles irem se acostumando, porque eles têm qualidade. Os jogos vão dando bagagem, para até inclusive simplificar e arriscar menos", analisou o treinador.

A seleção perdeu nomes importantes para a competição que vale vaga em Tóquio-2020 por conta da falta da liberação dos clubes europeus, uma vez que este torneio não é disputado em uma data-Fifa. Emerson, do Betis, Ayrton Lucas, do Spartak, Gabriel, do Lille, Ibañez, do Atalanta, foram chamados, mas, depois, cortados. Walce, do São Paulo, se lesionou. Lyanco, do Bologna, Luiz Felipe, da Lazio, e Renan Lodi, do Atlético de Madri, eram desejos de Jardine, mas ficaram nem foram convocados porque os clubes já avisaram que não liberariam.

Robson Bambu, do Athletico, pôde ser convocado, mas foi um dos atletas que mais mostrou insegurança no jogo contra a Bolívia. Ele errou alguns es na saída de jogo e, até mesmo na hora de afastar algumas bolas, se complicou e deu chances à Bolívia. Ele itiu na entrevista após o jogo que a defesa não esteve tão bem dentro de campo.

"A gente sofreu ali, mas tem que lembrar que do outro lado o time da Bolívia é uma seleção que vai para o tudo ou nada, tanto que conseguiram achar os três gols. Talvez hoje não tenha sido o melhor dia da defesa, mas é normal, acontece. Tem vezes que o jogo não perdoa os erros. Nós erramos algumas bolas ali, mas em nenhum momento deixamos de jogar. Em muitas vezes vamos ter que ar pressão dos adversários", analisou o zagueiro.

André Jardine ainda tem como opções para a sua zaga os nomes de Ricardo Graça, do Vasco, e Bruno Fuchs, do Internacional. O segundo, inclusive, entrou por alguns minutos para ser o terceiro zagueiro e reforçar a marcação contra a Bolívia. É possível que ao menos um deles ganhe chance contra o Paraguai, uma vez que o Brasil já está classificado para o quadrangular, e Jardine revezará a equipe.

"A gente está sempre avaliando mudança, observando não só treinamentos. O jogo do Paraguai a gente vai dar oportunidade para outros atletas, que ainda não atuaram. Uma coisa é o treino e outra é o jogo e vamos ver como ele vai reagir. A equipe do quadrangular vai ser a que melhor se apresentar", explicou o comandante.

O Brasil volta a treinar hoje (29) na Colômbia e tem jogo marcado para a próxima sexta-feira, contra os paraguaios, a partir das 22h30 (de Brasília). A estreia no quadrangular ainda não tem adversário definido e está marcada para o dia 3 de fevereiro, em Bucaramanga.