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

ANÁLISE

Texto baseado no relato de acontecimentos, mas contextualizado a partir do conhecimento do jornalista sobre o tema; pode incluir interpretações do jornalista sobre os fatos.

Neymar é o jogador com mais assistências na Liga dos Campeões desde 2013

Neymar arranca com a bola dominada em jogo entre PSG e Bayern de Munique pela Liga dos Campeões - Alexander Hassenstein/Getty Images
Neymar arranca com a bola dominada em jogo entre PSG e Bayern de Munique pela Liga dos Campeões Imagem: Alexander Hassenstein/Getty Images

Colunista do UOL

07/04/2021 17h54

Com duas assistências na vitória do PSG sobre o Bayern Munique nesta quarta-feira (7), por 2 x 1, na Alemanha, Neymar chegou a 29 assistências na história da competição, tornando-se o 7º jogador com mais assistências desde o início do novo formato, em 1992, igualando espanhol Iniesta.

No primeiro tempo contra o Bayern, Neymar deu um e para Mbappé abrir o placar logo aos 3 minutos de jogo. Depois, aos 28 minutos, deu um excelente lançamento para o brasileiro Marquinhos ampliar para 2 x 0.

Mais assistências na Liga dos Campeões (1992-2021):
42 Cristiano Ronaldo
36 Messi
[33] Di María
31 Giggs
30 Xavi
29 Iniesta
[29] Neymar
27 Benzema
26 Fàbregas
26 Ibrahimovic
26 Luis Suárez
25 Ribery
24 Özil
24 Marcelo
24 Thomas Müller
23 Daniel Alves
23 Kaká
22 Lampard
21 Rooney

Desde sua estreia na Champions League, em 1993, porém, Neymar é o jogador com mais assistências (29), bem à frente de Cristiano Ronaldo, que nessas últimas 8 edições deu 23 assistências.

Mais assistências na Liga dos Campeões desde 2013/14, quando Neymar estreou na competição:
[29] Neymar
23 Cristiano Ronaldo
20 Di María
19 Luis Suárez
18 Messi
16 Marcelo
16 Mbappé
15 De Bruyne
15 Sterling
14 Iniesta
14 Milner

Entre os brasileiros, Neymar, além de ser o maior artilheiro com 41 gols, é também o líder isolado em assistências (29), tendo superado Daniel Alves na última edição.

Brasileiros com mais assistências na Liga dos Campeões (1993-2021):
[29] Neymar
23 Daniel Alves
23 Kaká
20 Marcelo
16 Juninho Pernambucano
14 Hulk
13 Alex
13 Deco
13 Douglas Costa
13 Roberto Firmino
11 Cafu
10 Maxwell
10 Zé Roberto

Só pelo PSG, são 26 jogos, 20 gols e agora 11 assistências. Vice-campeão em 2020 com o clube francês, Neymar segue na luta para conquistar o título inédito para o clube e o seu segunda na carreira - foi campeão e artilheiro com o Barcelona em 2015.

Depois de uma expulsão besta na última rodada do Campeonato Francês, já nos acréscimos, e ser muito criticado, o camisa 10 do PSG deu a volta por cima com uma ótima atuação. Resta saber agora se o craque vai repetir essa atuação de hoje na reta da final da Champions.

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