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

Santos

Marcos Leonardo ressurge no Santos e tem média maior que 'raios' da base

Marcos Leonardo comemora gol na partida entre Juventude e Santos, em Caxias do Sul - Ivan Storti/Santos FC
Marcos Leonardo comemora gol na partida entre Juventude e Santos, em Caxias do Sul Imagem: Ivan Storti/Santos FC

Lucas Musetti Perazolli

Colaboração para o UOL, em Santos (SP)

16/06/2022 04h00

Marcos Leonardo é o principal jogador do Santos em 2022. Após dois anos apenas como opção no elenco e uma difícil renovação de contrato, o centroavante começou a temporada com status de titular absoluto e tem correspondido às expectativas, mesmo aos 19 anos, superando outros Meninos da Vila, que hoje brilham na Europa.

O camisa 9 estreou como jogador profissional em 2020, quando fez cinco gols. A temporada ada foi de poucas oportunidades por causa do ime contratual, mas o Menino da Vila anotou mais sete gols. Atualmente, já são 12 gols em um semestre. Em menos de seis meses, Marcos Leonardo balançou as redes na mesma quantidade das duas temporadas anteriores somadas.

Marcos Leonardo tem 24 gols em 91 jogos pelo Santos, média de 0,26 por partida. Em 2022, são 12 gols em 29 jogos (0,41). Ele é o artilheiro disparado do Peixe. Os vices são Rwan, Léo Baptistão, Ricardo Goulart e Vinicius Zanocelo, com apenas quatro.

A média de gols de Marcos Leonardo é superior a outros "raios" recentes. Dois centroavantes formados pelo Santos estiveram abaixo do atual camisa 9: Kaio Jorge, hoje na Juventus (ITA), fez 17 gols em 84 jogos (0,20). Yuri Alberto, do Zenit (RUS), marcou três em 27 partidas (0,11).

Jogador de lado de campo e com outras características, Rodrygo fez 17 gols em 80 jogos antes de ir para o Real Madrid (média de 0,21). Ângelo, que ainda está no Peixe, tem dois gols em 70 jogos (0,02).

Confiante e com sequência de jogos, Marcos Leonardo brilha pelo Santos e tem como meta a artilharia do Campeonato Brasileiro. Ele tem seis gols e está ao lado de Hulk e atrás de Mendoza (7) e Calleri (9).

O camisa 9 do Peixe tem contrato até dezembro de 2026. A multa rescisória é de 60 milhões de euros (R$ 316 mi, na cotação atual).

Santos