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

Cruzeiro

Torcida do Cruzeiro cobra rebaixamento do CSA para 'vingar' anos anteriores

Torcedores do Cruzeiro durante participação da equipe na Série B de 2022 - Staff Images
Torcedores do Cruzeiro durante participação da equipe na Série B de 2022 Imagem: Staff Images

Lohanna Lima

Do UOL, em Belo Horizonte (MG)

04/11/2022 04h00

Após o longo e tenebroso período de três anos na Série B do Campeonato Brasileiro, o torcedor do Cruzeiro se prepara para se despedir da competição, diante do CSA, domingo (6), às 18h (de Brasília), no Mineirão. O jogo que marcará a entrega da taça de campeão à Raposa, no entanto, terá para o público uma motivação a mais, que nada tem a ver com o troféu: o desejo de que os alagoanos sejam rebaixados à Série C.

Nas redes sociais é possível ver os torcedores do Cruzeiro publicando diversas mensagens para que o time empurre o adversário para a Terceira Divisão. Os jogadores estão cientes da importância desse jogo para o torcedor, pois têm recebido em seus perfis ou até mesmo pessoalmente diversos recados reforçando o desejo de ver o CSA cair, segundo apurou o UOL Esporte.

Na 16ª colocação, o CSA soma 42 pontos. Em caso de derrota para o Cruzeiro, o Novorizontno, que hoje é o 17º, com 41 pontos, escapará do rebaixamento se vencer ou empatar com o Operário, em Ponta Grossa (PR).

Se o CSA empatar com o Cruzeiro, a equipe do interior paulista só escapará se vencer. Uma vitória dos alagoanos, no entanto, basta para que escapem da Série C sem a necessidade de combinação de resultado.

A última vitória do Cruzeiro diante do CSA foi em 2013, pela Copa do Brasil. Nas últimas quatro temporadas - entre a queda e o período na Série B - a Raposa enfrentou o rival sete vezes, foi derrotada em quatro e empatou outras três.

Entenda a rivalidade

Desde o ano da queda do Cruzeiro, em 2019, o CSA é uma verdadeira pedra no sapato do time celeste. Foi diante da equipe que o Cruzeiro teve decretado o seu rebaixamento "moral" na competição, quando perdeu a partida por 1 a 0. Na ocasião, o meia Thiago Neves ainda perdeu um pênalti e logo depois um áudio do meia enviado ao então presidente celeste, Zezé Perrela, antes da partida, foi divulgado com cobranças por salários atrasados.

Desde áudio vazado de Thiago Neves, Cruzeiro não conseguiu vencer o CSA - Flickr/Cruzeiro - Flickr/Cruzeiro
Desde áudio vazado de Thiago Neves, Cruzeiro não conseguiu vencer o CSA
Imagem: Flickr/Cruzeiro

Por causa do áudio, frases como "Fala, Zezé! Bom dia, cara" e "se não ganhar do CSA, pelo amor de Deus" tornaram-se o pesadelo dos cruzeirenses, já que as falas do meia viralizaram para torcedores de outros times pelo país e se tornaram provocações constantes.

No ano ado, pelo returno da Série B, o CSA venceu o Cruzeiro de virada no Independência por 2 a 1. Ao fim do jogo, o houve uma confusão em campo entre os jogadores que começou devido a uma provocação na hora do segundo gol dos alagoanos, que comemoram fazendo referência ao áudio viralizado.

Adriano troca empurrões após a derrota do Cruzeiro para o CSA, na Arena Independência, pela Série B - Fernando Moreno/Fernando Moreno/AGIF - Fernando Moreno/Fernando Moreno/AGIF
Adriano troca empurrões após a derrota do Cruzeiro para o CSA, na Arena Independência, pela Série B
Imagem: Fernando Moreno/Fernando Moreno/AGIF

Além do campo, a situação se estendeu para as redes sociais, já que o perfil oficial do CSA também postou provocações ao time mineiro.

Cruzeiro