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

MMA


Johnny Walker celebra vitória no UFC e rebate reclamação de Spann

Johnny Walker venceu Ryan Spann pelo UFC em Las Vegas 11 - Chris Unger/Zuffa LLC via Getty Images
Johnny Walker venceu Ryan Spann pelo UFC em Las Vegas 11 Imagem: Chris Unger/Zuffa LLC via Getty Images

Ag. Fight

Ag. Fight

21/09/2020 06h00

Após duas derrotas seguidas, Johnny Walker se recuperou em grande estilo no Ultimate. No último sábado (19), o brasileiro nocauteou Ryan Spann no primeiro round de disputa, no UFC Las Vegas 11. Em entrevista exclusiva à reportagem da Ag. Fight, o peso-meio-pesado (93 kg) não escondeu o alívio por voltar a sentir o sabor da vitória na organização.

Apesar do triunfo logo no primeiro assalto, o brasileiro não teve uma tarefa tão fácil para superar o rival. Johnny chegou a balançar com os ataques de Spann, mas conseguiu dar a volta por cima. De acordo com o atleta do Brasil, ele sabia que o americano viria com tudo para cima dele, mas destacou que tinha consciência que o adversário não iria aguentar quando ele encaixasse uma sequência de golpes.

"Foi tranquila a luta. Eu esperava por isso, sabia que ele era forte. Ele deu um soco e eu dei uma 'escorregada', mas recuperei rapidinho e consegui revirar. Sabia que quando começasse a dar porrada nele ele ia sentir. Eu bato forte mesmo. Eu treino muito. Ele começou a sentir as marretadas, dando ele deu a distância certa para o cotovelo também acertei duas e ele acabou", disse o brasileiro.

Após o combate, Ryan Spann saiu inconformado do octógono, por acusar Johnny de ter desferido golpes ilegais e o árbitro não ter observado. Ciente dessa reclamação, o brasileiro negou que tenha feito algo contra as regras e adiantou que tomou todo o cuidado possível para não acertar o americano em um local que não poderia.

"O juiz estava bem em cima. Eu estava esperando até ele parar a luta, porque ele deixou eu bater bastante. O Ryan Spann estava praticamente apagado, ele não estava fazendo força nenhuma, só estava agarrado nas minhas pernas. Eu acertei umas dez, 15 porradas e acho que o juiz já devia ter parado porque ele não estava fazendo ação. Eu bati ao lado da cabeça dele e estava tomando o máximo de precaução para não acertar golpe ilegal, porque não queria ser desclassificado. Acho que fiz meu trabalho certo e o juiz também. Só acho que devia ter parado antes", explicou o meio-pesado.

Empolgado com o triunfo, Johnny Walker se colocou à disposição para voltar o mais rápido possível ao octógono. De acordo com o brasileiro, ele pode até atuar nos eventos da 'Ilha da Luta', que começam no próximo sábado (26) e vão até o dia 24 de outubro.

"Estou pronto para voltar. Nunca fui em Abu Dhabi, seria bom ir para lá, mas onde pintar, eu estou pronto. Qualquer um acima de mim no ranking, talvez o Anthony Smith. Qualquer um que pintar eu aceito", finalizou o atleta de 28 anos.