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

Times argentinos voltam a triunfar em cima dos brasileiros nos mata-matas

Rodrigo Caio, do Flamengo, reclama após ser expulso contra o Racing - EFE/ Antonio Lacerda POOL
Rodrigo Caio, do Flamengo, reclama após ser expulso contra o Racing Imagem: EFE/ Antonio Lacerda POOL

01/12/2020 23h36

Atual campeão e time mais valioso da Libertadores, o Flamengo não conseguiu ar pelo seu primeiro mata-mata e acabou eliminado pelo Racing-ARG nesta terça-feira (1). Apesar de arrancar um empate aos 49 minutos do 2º tempo, com um gol de cabeça de Willian Arão, o rubro-negro caiu nos pênaltis, perdendo a chance de defender o título.

Pouco antes, em Buenos Aires, o River Plate venceu o Athletico-PR por 1 x 0 e garantiu sua classificação pela 16ª vez para as quartas de final da Libertadores desde 1989, quando o torneio ou a ter essa fase, isolando-se ainda mais como o time que mais avançou para as quartas.

Com as duas eliminações dos times brasileiros nesta terça, os argentinos ampliam o retrospecto positivo em cima dos times brasileiros em mata-matas da Libertadores. Agora, em 62 confrontos, são 36 classificações dos argentinos contra 26 dos brasileiros. Em 2020, ainda teremos o duelo entre Internacional e Boca Juniors nas oitavas de final.

Mata-matas entre brasileiros e argentinos na história da Libertadores (1960-2020):
62 Confrontos
26 brasileiros classificados/vitoriosos
36 argentinos classificados/vitoriosos

Jogos em mata-matas
130 jogos
43 vitórias dos brasileiros
32 empates
55 vitórias dos argentinos
140 gols dos brasileiros
156 gols dos argentinos

No histórico geral, os brasileiros têm um retrospecto positivo diante dos argentinos, já que venceu mais na Fase de Grupos (58 vitórias contra 38 dos argentinos). Mas como o que vale mesmo é o desempenho no mata-mata, a vantagem argentina é a mais importante nesse confronto.

Jogos nas fases de grupos
58 vitórias dos brasileiros
30 empates
38 vitórias dos argentinos
199 gols dos brasileiros
145 gols dos argentinos

No geral
256 jogos
101 vitórias dos brasileiros
62 empates
93 vitórias dos argentinos
240 gols dos brasileiros
202 gols dos argentinos

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