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

Rodolfo Rodrigues

Pela Champions, Neymar tem 1ª de 3 chances de virar protagonista na Europa

Neymar tenta dar ao PSG o inédito título da Liga dos Campeões - BENOIT TESSIER/REUTERS
Neymar tenta dar ao PSG o inédito título da Liga dos Campeões Imagem: BENOIT TESSIER/REUTERS

12/08/2020 04h00

Campeão e um dos artilheiros da Liga dos Campeões de 2015 com o Barcelona, Neymar chegou a ser um dos três finalistas ao prêmio de melhor jogador do mundo naquele ano, mas acabou atrás de Messi (41,33%) e Cristiano Ronaldo (27,76%), os dois com quem dividiu a artilharia da Champions naquele ano.

Atuando ao lado de Messi naquela conquista, Neymar fez ótimos jogos nas quartas (contra PSG), semifinal (Bayern Munique) e final (Juventus), marcando 7 gols em cinco jogos. Ainda assim, no geral, não conseguiu superar o brilho do argentino naquela temporada.

Com o PSG, Neymar terá agora a chance de poder conquistar novamente a Liga dos Campeões e se tornar o grande protagonista do futebol europeu. Campeão francês, da Copa da França e da Copa da Liga sa, o brasileiro vem jogando muito bem na equipe de Thomas Tuchel e é umas das estrelas ao lado de Mbappé.

Na temporada 2019/20, o atacante francês é o artilheiro da equipe com 30 gols em 34 jogos. Neymar tem 19 gols, mas atuou menos (24 partidas). Contra a Atalanta, nesta quarta-feira (12), o brasileiro terá sua primeira grande chance de mostrar que pode vir a ser o grande protagonista do futebol europeu.

Aos 28 anos, Neymar, mais maduro, tem demonstrado nessa temporada um comportamento diferente de suas duas primeiras temporadas pelo clube francês, quando até forçou a barra para voltar ao Barcelona. Mais alegre dentro e fora de campo, o camisa 10 do PSG vem chamando a responsabilidade nas partidas e está sendo mais objetivo, isso mesmo sem deixar de lado seus dribles. Até as suas irritantes quedas, como na Copa de 2018, já não aparecem tantas vezes mais.

Neymar na temporada 2019/20*

  • 24 jogos

  • 19 gols

  • 9 assistências

  • 76 minutos para participar de gol

  • 80 finalizações (49 no gol)

  • 61 es decisivos

  • 15 grandes chances criadas

  • 131 dribles certos

  • 1 082 es certos

* Estatísticas: SofaScore

Nas partidas contra o Borussia Dortmund (pelas oitavas da Liga) e nessas decisões da Copa da França (quando fez o gol do título contra o Saint-Éttiene) e da Copa da Liga da França (contra o Lyon), Neymar foi o melhor em campo pelo PSG. Agora, contra o bom e ofensivo time da Atalanta, o brasileiro poderá dar início a essa mudança de patamar no futebol europeu.

ando, Neymar terá pela frente o vencedor de Atlético de Madri e RB Leipzig na semifinal da Champions. Clubes, teoricamente no papel, inferiores ao PSG. E se continuar atuando dessa forme, o craque do Paris Saint-Germain poderá sonhar com mais uma final de Liga dos Campeões. E aí terá sua terceira e maior chance de se consagrar no futebol mundial dando o inédito título ao clube francês.

Analisando friamente, são apenas três jogos. E dois deles (quartas e semis), teoricamente não tão complicados assim. Neymar costuma crescer em decisões. Depois, contra, provavelmente Manchester City, Bayern Munique ou Barcelona, ele terá seu maior desafio na carreira. Não será fácil, mas é possível. Ainda mais pela bola que tem.

Você pode me encontrar também no twitter (@rodolfo1975) ou no Instagram (futebol_em_numeros)