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

Brasileirão - 2020

Como os jogos adiados ainda podem influenciar a tabela do Brasileirão

Grêmio e Flamengo ainda se enfrentam em jogo da 23ª rodada, em 28 de janeiro - Pedro Martins/Foto FC/UOL
Grêmio e Flamengo ainda se enfrentam em jogo da 23ª rodada, em 28 de janeiro Imagem: Pedro Martins/Foto FC/UOL

Do UOL, em Santos (SP)

19/01/2021 12h00

Resumo da notícia

  • Tabela do Campeonato Brasileiro de 2020 está prestes a ser normalizada
  • A partir de 28 de janeiro, todos os times terão o mesmo número de partidas
  • Jogos adiados podem influenciar não só nas brigas por título e Libertadores...
  • ... mas também na luta para escapar do rebaixamento para a Série B

Sabe aquela tabela bagunçada com cada time tendo um número de jogos diferente? Pois bem, isso está prestes a acabar. A partir do dia 28 de janeiro, as 20 equipes do Campeonato Brasileiro finalmente estarão em total igualdade quanto a isso.

Na noite de ontem (18), Palmeiras e Corinthians entraram em campo no Allianz Parque pela 28ª rodada —enquanto a grande maioria de seus concorrentes já disputou 30 jogos. Agora, ainda restam quatro partidas adiadas pela frente: Palmeiras x Vasco, Grêmio x Flamengo, Atlético-MG x Santos e Bahia x Corinthians —veja detalhes mais abaixo.

Mas de que forma esses jogos adiados podem influenciar na tabela do Campeonato Brasileiro? De muitas maneiras, uma vez que eles interferem tanto nas brigas pelo título e pela Libertadores como na disputa pelo rebaixamento.

Com 51 pontos e agora 29 jogos, o Palmeiras, quinto colocado depois de fazer 4 a 0 no Corinthians, ainda encara o Vasco no dia 26 de janeiro, em jogo adiado da primeira rodada. O Alviverde segue na briga pelo título, enquanto os cariocas podem aproveitar a partida para escapar da 'confusão' (nas palavras de Vanderlei Luxemburgo) e quem sabe até buscar uma vaga na Copa Sul-Americana.

No mesmo dia, o Atlético-MG, um dos postulantes ao título, com 53 pontos, quatro a menos que o líder São Paulo, recebe o Santos, podendo ficar bem perto da liderança, numa situação similar à vivida pelo Internacional. Já o time do litoral paulista ocupa o oitavo lugar da tabela e não quer depender do título na Libertadores para confirmar presença na edição de 2021 do torneio. O jogo é válido pela 28ª rodada. Caso o troféu sul-americano fique para o Palmeiras, a equipe dirigida por Cuca saberia ao menos que o sétimo lugar já renderia uma vaga na próxima edição do torneio. Hoje a briga por essa vaga seria com o Fluminense.

No dia 28 de janeiro, entram em campo, pela 23ª rodada, outras duas equipes que ainda lutam pelo título nacional: Grêmio x Flamengo, em duelo que acontece em Porto Alegre. A dupla ainda sonha com o título do Brasileirão. Enquanto os rubro-negros ocupam a quarta posição com 52 pontos após a vitória por 3 a 0 sobre o Goiás, o Tricolor gaúcho está em sexto, com 50 pontos, sete atrás do líder —a diferença é que o time ainda tem a Copa do Brasil como opção de vaga direta na Libertadores, caso derrote o Palmeiras na decisão.

Por fim, também em 28 de janeiro, jogam duas equipes com objetivos distintos: Bahia x Corinthians. O Tricolor baiano pode aproveitar o jogo adiado da 30ª rodada para se distanciar da zona de rebaixamento, enquanto o time paulista quer se aproximar ainda mais da área de classificação para a Libertadores, em sua arrancada sob o comando de Vagner Mancini — acelerada/desacelerada após o dérbi contra o Palmeiras.

Veja os jogos adiados ainda não disputados:

- Palmeiras x Vasco, 26 de janeiro (1ª rodada)

- Grêmio x Flamengo, 28 de janeiro (23ª rodada)

- Atlético-MG x Santos, 26 de janeiro (28ª rodada)

- Bahia x Corinthians, 28 de janeiro (30ª rodada)