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

Brasil perde para a Espanha e é eliminado do Mundial masculino de handebol

Patrik STOLLARZ / AFP
Imagem: Patrik STOLLARZ / AFP

Do UOL, em São Paulo

21/01/2019 16h30

O Brasil deu adeus ao sonho da semifinal do Mundial masculino de handebol nesta segunda-feira (21). Na melhor participação de sua história, a seleção comandada pelo técnico Washington Nunes perdeu para a Espanha por 36 a 24 e não tem mais como avançar para a próxima fase da competição.

A seleção brasileira se despedirá do torneio na próxima quarta-feira (23), quando enfrentará a Islândia. O duelo servirá apenas para definir em qual posição os comandados de Washington Nunes terminarão o torneio.

O jogo

A Espanha apostou nos contra-ataques para derrotar o Brasil no primeiro tempo. Os europeus conseguiram se impor com um jogo de pivô efetivo. Além disso, tiveram êxito na estratégia de anular Haniel, principal válvula de escape do ataque brasileiro. O armador esquerdo foi marcar seu primeiro gol após no último lance da etapa inicial.

Com dificuldade para converter as jogadas em gol, o técnico Washington Nunes utilizou por boa parte do primeiro tempo Raul, Thiagus e Gustavo na armação. O trio quase nunca havia jogado juntos na competição. A etapa terminou com a Espanha vencendo por 19 a 13.

O Brasil demonstrava sentir o cansaço depois da equilibrada partida contra a Croácia, quando venceu por 29 e 26 e ou a sonhar com a vaga para a semifinal do Mundial. O problema foi semelhante ao duelo contra a Alemanha, quando a seleção brasileira sentiu o cansaço de um jogo pegado com a França um dia antes.

O cansaço e a ótima tarde vivida pelo time da Espanha deixaram o Brasil imponente na partida. Em determinado momento da segunda etapa, a diferença chegou a 10 gols. No fim, os espanhóis aumentaram a vantagem e venceram por 36 a 24.

O central Joan Cañellas foi considerado o melhor jogador da partida. Ele terminou o duelo com cinco gols anotados em cinco tentativas.