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

Matthew McConaughey revela crush em Reese Witherspoon no início da carreira

Matthew McConaughey confessa crush em Reese Witherspoon  - Michael Rozman/Warner Bros.
Matthew McConaughey confessa crush em Reese Witherspoon Imagem: Michael Rozman/Warner Bros.

Colaboração para Splash, no Rio de Janeiro

16/12/2021 13h20

Matthew McConaughey, de 52 anos, confessou que Reese Witherspoon, 45, foi um dos seus primeiros crushes por celebridades.

O ator contou sobre a paixão pela amiga de trabalho durante participação no programa de entrevista da apresentadora Ellen DeGeneres, que foi divulgada em uma matéria hoje pelo jornal "Daily Mail".

"Eu tinha uma queda pela jovem sentada à minha esquerda", disse o ator enquanto gesticulava em direção a Reese, que ficou chocada com a declaração de Matthew.

Ele explicou que a paixão começou quando ele assistiu a atriz em seu primeiro filme, "No Mundo da Lua", em 1991, aos 14 anos.

"O quê?!", exclamou a estrela de "Legalmente Loira".

"[Reese] foi uma das minhas primeiras paixões e se você viu o filme é inevitável não ter uma queda por [ela]", explicou Matthew, antes de Ellen colocar uma foto de Reese no filme na tela atrás eles.

"Você é tão fofo!", disse Reese, que ouviu o ator garantindo para ela que é uma história verdadeira.

Questionada se ela tinha tido interesse em Matthew, Reese contou que ele não foi crush dela. Ela lembrou ter ficado louca por Jim Morrison, de Val Kilmer, no filme biográfico "The Doors - O Filme", em 1991.

Os dois lembraram que, apesar de estrelarem três filmes juntos ao longo da carreira artística, eles nunca apareceram na mesma cena. Eles contracenaram no drama independente "Mud", em 2014, e completaram o elenco de narrações da franquia "Sing", da Illumination Entertainment, que começou em 2016.

"Eu acho que as pessoas querem nos ver em um filme de verdade juntos", disse Reese.

Na entrevista, os dois também comentaram sobre a amizade de dez anos que construíram ao longo dos anos. Reese revelou que ela conheceu Matthew em uma festa após o Oscar, em 2006, onde ganhou o Oscar de melhor atriz por seu papel como June Carter em "Johnny & June".

"Mas então nos conhecemos muito mais tarde e nos conhecemos muito bem", explicou Matthew.

Reese acrescentou que desde então aram a conhecer os filhos, esposas e maridos um do outro e que a amizade tem sido uma delícia.

"O dia em que ele roubou meu coração e o coração de todos, basicamente, na minha vida pessoal foi quando ele dançou com todas as mulheres com mais de 65 anos no meu casamento", contou ela, que acrescentou: "Ele é esse tipo de pessoa".

Ela se lembrou especificamente de Matthew dançando com sua mãe Betty, que ficou impressionada com o quão cavalheiro ele era. "Quer dizer, minha mãe podia ter morrido. Ela podia ter morrido. Ela estava tipo, 'Oh meu Deus!'", contou a atriz.

"Nós suamos na pista de dança", brincou Matthew, antes de Reese itir que, apesar de ser o grande dia dela, ele totalmente "ganhou o casamento".