;(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();
})();
10 momentos marcantes de Tadeu Schmidt com os cavalinhos
Reprodução/Globo
15/11/2021 12h54
Hora do adeus. Tadeu Schmidt se despediu do Fantástico e dos seus famosos cavalinhos. Por 14 anos, o apresentador caiu no gosto da galera com sua maneira bem-humorada para falar de futebol e dos gols da rodada. Por isso, separamos 10 momentos marcantes entre criador e criatura para você ver! Bora?
The zoeira never ends
Quem nunca soltou um errrrou com voz do Faustão, um "mustela putorius furo" naquela furada do atacante ou simplesmente aguardou o Fantástico para ver seu cavalinho zoando o rival?
Continua depois da publicidade
Fora aqueles momentos que o próprio Tadeu não resistia e acabava rindo com as gozações dos cavalinhos.
Imagem: Reprodução
A marchinha de Carnaval
Com o tempo, os cavalinhos começaram a fazer outras participações especiais, como essa daí, em 2017, em uma marchinha de Carnaval ao lado do Tadeu.
Especial de Natal
No fim de ano, Tadeu também foi o maestro dos cavalinhos em uma retrospectiva da temporada do futebol brasileiro.
Eles viraram celebridades
Virou rotina do torcedor brasileiro assistir aos cavalinhos com Tadeu Schmidt no final do domingo. Das telas, eles foram para as arquibancadas e viraram xodós das torcidas.
Imagem: Reprodução
Eles estiveram até na Copa
E as brincadeiras não paravam durante a pausa do Brasileirão. Foi assim na Copa do Mundo, quando não faltou zoeira na saga do cavalinho brasileiro rumo à Rússia.
Continua depois da publicidade
Nas horas boas e nas ruins
Dias após a tragédia do Ninho do Urubu, o cavalinho do Flamengo apareceu sozinho e prestou sua solidariedade às vítimas, mas foi abraçado pelos companheiros em uma linda homenagem.
Imagem: Reprodução
Também foi assim no acidente com a delegação da Chapecoense, em 2016.
Imagem: Reprodução
A despedida
Com perdão do trocadilho, o adeus teve doses cavalares de emoção. Ele apresentou os profissionais que estão por trás dos cavalinhos e fez um discurso emocionante no último programa
E teve despedida emocionante de Tadeu Schmidt no #Fantástico deste domingo (14).
?Vou para o @bbb radiante! Empolgadíssimo com essa nova empreitada. Mas o Show da Vida vai ficar para sempre no meu coração?.
Toda vez que um cavalinho fizer uma graça, toda vez que alguém pedir música no Fantástico, eu vou sentir que ainda tenho um pedacinho de mim aqui no show da vida." Tadeu Schmidt, em seu último programa no Fantástico
Para fechar, lembramos o dia que o cavalinho imitou John Travolta em "Pulp Fiction" e que hoje representa os torcedores desamparados sem o Tadeu para mostrar os gols do domingo.
ID: {{comments.info.id}}
URL: {{comments.info.url}}
Ocorreu um erro ao carregar os comentários.
Por favor, tente novamente mais tarde.
{{comments.total}} Comentário
{{comments.total}} Comentários
Seja o primeiro a comentar
Essa discussão está encerrada
Não é possivel enviar novos comentários.
Essa área é exclusiva para você, , ler e comentar.
Só s do UOL podem comentar
Ainda não é ? Assine já.
Se você já é do UOL, faça seu .
O autor da mensagem, e não o UOL, é o responsável pelo comentário. Reserve um tempo para ler as Regras de Uso para comentários.