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

Vôlei: Brasil bate Alemanha e vence a sexta seguida na Liga das Nações

Jogadoras da seleção feminina de vôlei comemoram pontuação - Reprodução/SporTV2
Jogadoras da seleção feminina de vôlei comemoram pontuação Imagem: Reprodução/SporTV2

Colaboração para o UOL, em Maceió

17/06/2023 15h59

O Brasil venceu a Alemanha por 3 sets a 1, com parciais de 25/22, 25/18, 22/25 e 25/17 na tarde de hoje (17) pelo 6º jogo da fase preliminar da Liga das Nações de Vôlei feminino, em Brasília.

O que aconteceu

A seleção brasileira garantiu a 6ª vitória seguida na competição. Já as alemãs foram derrotadas pela segunda vez na Liga.

Com a vitória, a equipe de José Roberto Guimarães avançou aos 18 pontos e foi ao 2° lugar. As europeias estacionaram na 6ª posição com 13 pontos enquanto a Polônia lidera com 20.

A seleção volta às quadras amanhã (18), a partir das 10h (de Brasília), quando encara os Estados Unidos. A Alemanha pega a Coreia do Sul, que ainda não venceu na competição.

Como foi o jogo

1º set acirrado. A primeira etapa foi extremamente disputada e nenhuma equipe conseguiu ter mais de três pontos de vantagem. A seleção de José Roberto Guimarães até marcou o primeiro, mas precisou ver a equipe alemã virar o marcador antes de reagir e vencer o set.

43 segundos frenéticos. O Brasil conseguiu abrir dois pontos de vantagem que logo depois resultaram na vitória do primeiro set após 43 segundos de ataques e contra-ataques.

Erros de saque incomodam. José Roberto Guimarães ficou visivelmente incomodado com os erros consecutivos nos saques da equipe brasileira. Apenas no primeiro tempo foram contabilizados três.

2º set é melhor. As brasileiras conseguiram frear a alemã Weske e fazer um segundo set superior estabelecendo vantagens maiores com Julia Bergmann melhorando os saques, mesmo tendo dificuldade em ar pelo bloqueio alemão pelo lado direito.

Alemanha reage. Mesmo com todas as titulares brasileiras em quadra, as europeias aram a gostar do jogo e chegaram a vencer o 3º set numa tentativa de reação ao explorar os bloqueios e pontos por saque.

Brasil finaliza. Mesmo tentando repetir o feito do 3º set, as alemãs não aguentaram o ritmo acelerado logo no início do 4º set e foram derrotadas pela parcial com maior diferença no jogo: 25/17.

Maiara e Kisy pontuam. As brasileiras foram as responsáveis por manter o Brasil à frente do placar principalmente no primeiro e no terceiro set com Maiara marcando pontos de saque.

Errata: este conteúdo foi atualizado
Diferentemente do que foi informado no texto, foi a segunda derrota da seleção alemã de vôlei no torneio, e não a primeira. O erro foi corrigido.